|
|
Vous êtes ici : Forums > Langage Javascript / AJAX > récupérer l'index d'un input text?
récupérer l'index d'un input text?
Hello, J’ai un tableau qui est générée par une boucle asp et qui donne au final quelque chose comme ça : <html> <body> <form name=”monform” action=”url”> <table> <tr> <td><input type="text" name="Libelle"></td> <td><input type="text" name="Montant"></td> <td><input type="text" name="Quantite"></td> <td><input type="text" name="Total"></td> </tr> <tr> <td><input type="text" name="Libelle"></td> <td><input type="text" name="Montant"></td> <td><input type="text" name="Quantite"></td> <td><input type="text" name="Total"></td> </tr> <tr> <td><input type="text" name="Libelle"></td> <td><input type="text" name="Montant"></td> <td><input type="text" name="Quantite"></td> <td><input type="text" name="Total"></td> </tr> <tr> <td><input type="text" name="Libelle"></td> <td><input type="text" name="Montant"></td> <td><input type="text" name="Quantite"></td> <td><input type="text" name="Total"></td> </tr> </table> <input type="submit"> </body> </html>
Comme vous pouvez le remarquer, tous les inputs ont le même nom et jusqu’à présent j’arrivais à m’en sortir en y faisant référence comme ça document.monform.Libelle[0] document.monform.Libelle[1] … Et ça marchait assez bien, sauf que là, je voudrais instaurer une fonction qui, lorsque l’utilisateur tape Ctrl+M (par exemple), copierait la valeur qui est entrée dans le input text ayant le même nom mais étant juste au dessus et la collerait dans le input ayant le focus (pour donner un exemple je suis dans le input text s'appellant Libelle[2], je tape Ctrl+M et la valeur présente dans Libelle[1] se copie dans Libelle[2] Au niveau du script j’en suis là :
<head> <script language="JavaScript1.2"> document.onkeydown=checkShortcut;
// c'est cette function qui est foireuse function copie(){ var a = document.activeElement var v = a.value var n = a.name var i = n.length // donne quelque chose de faux //alert (v); //alert (n); //alert (i); //Var cv = document.monform.n[-1].value // j'ai essayé ça mais c'est pas ça //alert(cv); } function checkShortcut(e){ var code; if (!e) var e = window.event; if (e.keyCode){ code = e.keyCode; }else if (e.which){ code = e.which; } var ctrlKeyValue = e.ctrlKey; var key = String.fromCharCode(e.keyCode); if(ctrlKeyValue==true && key.toUpperCase()=='M'){ copie(); } } </script> </head>
La fonction copie n’est pas très avancée ! En fait je suis bloqué parce que activeElement marche bien pour récupérer la valeur, mais le nom donnera par exemple Libelle et pas Libelle[1]. Et je n’ai pas trouvé de moyen pour récupérer le numéro d’index d’un input text (alors que c’est possible pour l’objet select par exemple). Est-ce qu’il existe un moyen de le récupérer ? Par ailleur, j’ai l’impression qu’il n’est pas possible de désigner un objet avec des variables, est ce vrai ? (parce que je vois que ça marche pas mais je ne sais pas exactement ou ça bloque) Exemple : Var variable = document.activeElement.name + "[0]" document.monform.variable
Y a-t-il d'autres solutions? Parce que là je suis embêté, j'ai pensé à donné un nom unique à chacune (dans ma boucle) ce qui me donnerait Libelle1, Libelle2, Libelle3 Du coup, je récupère cette donnée, je lui enlève le dernier caractère, je remplace par dernier caractère – 1 et j'en fais une jolie variable. Après plus qu'à aller chercher la valeur grace à document.monform.activeElement.value = document.monform.variable.value
Message posté le 17/09/2004
par IBegin
Répondre à ce message |
|
|

|
A RETENIR CETTE SEMAINE |
16/07/2008 -
Windows Server 2008 : Network Access Protection
Le nouveau système d’exploitation serveur de Microsoft, Windows Server 2008, apporte avec lui de nou ...
|
16/07/2008 -
Webcasts - Développement parallèle, à l'aube d'une nouvelle ère
Avec l'avénement des multi-coeurs, le développement parallèle devient une necéssité. Dans cette séri ...
|
16/07/2008 -
J'en ai rien à coder - Votre devoir de vacances sur Silverlight !
Qu'est-ce que Silverlight ? Une nouvelle technologie Web permettant d'exécuter des RIA sur un large ...
|
16/07/2008 -
Quelques petits tests sur les bases embarquées
Dans ce billet, Ayende réalise un benchmarking de plusieurs "petites" bases de données embarquées. S ...
|
15/07/2008 -
Présentation d'ASP.NET Dynamic Data
Dynamic Data est une nouvelle technologie inclue dans l' "Asp.net 3.5 Extension CTP ".
Elle fournit ...
|
15/07/2008 -
Silverlight 2 - Les webcasts de l'événement sont en ligne
L’objectif de cette journée était de comprendre les limitations de Silverlight 1, et d’appréhender l ...
|
15/07/2008 -
Cache transparent et Entity Framework
La gestion du cache (1er et second niveau) est une fonctionnalité très importante d'un outil de mapp ...
|
|
|