Récuperer l'Index d'un input

Mammouth du PHP | 881 Messages

03 déc. 2007, 18:00

Bonjour!

Mon code PHP bâtit un formulaire comme ceci:
   WHILE ($QuelRESP = mysql_fetch_object(...) {
             print '<input name="NOMFAM[]" size="20" value="xyz" >';
             print '<input name="PRENOM[]" size="20" value="xyz" >';
             print '<input name="ID_PERS[]" size="20" value="xyz" >';
   }
Vous voyez le genre, chaque input a un index, non?
Nous pourrions, par exemple récupérer en Javascript la valeur de NOMFAM[3] ainsi:

Code : Tout sélectionner

Valeur = document.NomFormulaire.NOMFAM[3].value;

Maintenant, ma question: il me semble bien que, pour activer une fonction javascript, on peut récupérer cet index par this.index mais je cherche partout et semble seul au monde à tenter ça, même les ordinateurs ne connaissent pas cette fonction. Je veux ajouter aux lignes ci-haut, un onclick="MaFonction(this.index);" pour que MaFonction ne traite que la case visée.

Quelle est donc la formule?

Merci
Soyez artisans de paix

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 déc. 2007, 18:54

Valeur = document.NomFormulaire.NOMFAM[3].value;
A vrai dire j'en doute que ça fonctionne
Et la fameuse fonction "index" n'est prévue que pour les listes "select" :-k

Tu peux te servir d'un compteur
$i = 0;
while(...)
{
   print '<input name="ID_PERS[]" size="20" value="xyz" onclick="maFonction('.$i.');">';
   ...
   $i++;
}

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 881 Messages

03 déc. 2007, 22:01

Ouin :cry: je serai bien obligé de m'y résoudre! :(
Soyez artisans de paix

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 déc. 2007, 23:16

C'est pas moins propre pour autant :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 881 Messages

04 déc. 2007, 00:48

Dans mon cas, ce l'est un peu, car j'ai d'autres input entre ça qui feront en sorte que je pourrai pas avoir une belle suite de i++, mais je devrai avoir des i et des i+2 etc. Détail, quoi.

Merci
Soyez artisans de paix