Accueil   |   Forums   |  Offres d'emplois   |  Contact    |   Mon compte   
vendredi 29 août 2008 Rechercher :
Déposez votre CV gratuitement sur touslesemplois
 
comparer les prix
» Logiciels
» Jeux vidéos
» Matériel Informatique


» ASP.NET
» ASP
» SQL
» PHP
» JAVASCRIPT
» XML
 


» ACTUALITÉ / DIVERS
» DROIT DE L'INTERNET
» INFOS VIRUS
» PATCHS MICROSOFT
» SÉCURITÉ
» BASES DE DONNÉES
» DOWNLOAD .NET
» LOGITHÈQUE
» SERVICES WEB
» Y SONT FOUS !
» .NET
» ASP
» ASP.NET
» JAVA
» PHP
» XML
» LANGAGE C#
» LANGAGE VB.NET
» UNIX / LINUX
» WINDOWS
» EVÈNEMENTS
» GASP
» MICROSOFT
 


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
 
AuteurRéponse 
BenMoiQuoi
20/09/2004
RE : récupérer l'index d'un input text?
et pourquoi ne met tu pas un tag dans tes imput, comme ca
<input type="text" tag="0" name="libelle">
que tu recupere
var taga = document.activeelement.tag
var namea = document.activelement.name
document.all(namea + "[" + taga + "]").value = document.all(namea + "[" + taga-1 + "]").value

comme ca, namea contient le name, taga contient la position, et tu peut jouer avec ?

(Pas testé, car pas le temps), mais a priori, ca devrait marcher

Tiens moi au courant ...
Répondre
IBegin
23/09/2004
RE : RE : récupérer l'index d'un input text?
Merci de ta réponse, mais j'ai finalement fait autrement (faut dire que j'ai pas vu ton message tout de suite). En tous cas, merci du tuyo)!
Si ça t'intéresse, ma solution ressemble à ça :
function copie(){
var a = document.activeElement
var v = a.value
var n = a.name
switch (n) {
case "Date": case "NumeroPiece": break ;
default :
for (var i=1;i<document.forSaisiePiece.elements[n].length;i++){
if (document.getElementsByName(n)[i].value == v){
document.getElementsByName(n)[i].value = document.getElementsByName(n)[i-1].value;
break ;
}
}
break;
}
}
...
Répondre


ASP Serveur - L'hébergement ASP.NET


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 ...
(c) 1999-2006 ASP MAGAZINE SARL
Partenaires : Codes sources c2i ASP-PHP
Hébergement serveurs dédiés Windows


Hit-Parade