Bonjour à tous,
Je cherche à coller des données depuis Excel dans une page web.
J'ai des textfield (éléments <input type="text" />) en ligne, et je souhaite que lorsque je copie plusieurs cellules en ligne depuis Excel, cela se colle à raison d'une cellule par textfield, dans ma page web.
J'ai des début d'éléments de réponse assez prometteurs, MAIS il reste quelques petits bugs :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| <html>
<head>
<title>Test copier-coller depuis Excel</title>
<script src="http://www.prototypejs.org/assets/2008/9/29/prototype-1.6.0.3.js" type="text/javascript"></script>
<script type="text/javascript">
function init(){
Event.observe('f1', 'paste', pasteCol);
Event.observe('f2', 'paste', pasteCol);
Event.observe('f3', 'paste', pasteCol);
Event.observe('f4', 'paste', pasteCol);
Event.observe('f5', 'paste', pasteCol);
function pasteCol(event) {
var notes=window.clipboardData.getData("Text");
var tab= new RegExp('[\t]');
notes=notes.split(tab);
for (i=0; i<notes.length; i++) {
document.getElementsByTagName("input")[i].value = notes[i];
}
}
}
</script>
</head>
<body>
<input type="text" name="f1" id="f1" size="5" />
<input type="text" name="f2" id="f2" size="5" />
<input type="text" name="f3" id="f3" size="5" />
<input type="text" name="f4" id="f4" size="5" />
<input type="text" name="f5" id="f5" size="5" />
</body>
</html> |
J'ai plusieurs soucis :
- Le premier est que lorsque je colle, tout se passe bien sauf dans la première cellule, toutes les données collées se mettent dans la première cellule, je cherche à savoir comment est-ce que je peux modifier le contenu de mon textfield après que le collage ait eu lieu...
- Le deuxième souci est de savoir dans quel cellule est-ce que le collage a eu lieu car si l'utilisateur colle dans la 2ème cellule, le premier souci sera présent mais dans la 2ème cellule cette fois-ci, et les cellules vont se remplir depuis la première (ce qui est normal lorsque l'on regarde mon code, puisque ma boucle for commence à l'élément 0 dans tous les cas). Donc je souhaite connaitre l'élément déclencheur de l'évènement...
Merci d'avance !!!
*** EDIT : Ne fonctionne QUE sous IE... ***
Partager