[Résolu] Parcourir les éléments de mon formulaire

Parcourir les éléments de mon formulaire [Résolu] - HTML/CSS - Programmation

Marsh Posté le 13-07-2006 à 11:45:39    

Hello,
 
J'ai plusieurs champs dans mon formulaire qui ont des noms identiques :  
 

Code :
  1. <input type="text" name="form_ppl_level[1240]">
  2. <input type="text" name="form_ppl_level[1210]">
  3. <input type="text" name="form_ppl_level[440]">
  4. <input type="text" name="form_ppl_level[4540]">


 
J'aimerais pouvoir parcourir tous ces champs, et pouvoir connaitre la valeur de l'id (1240, 1210, etc)
 
J'ai l'impression que le javascript ne considère pas form_ppl_level comme un tableau...
 
Quelqu'un peut m'aider à avancer svp ?


Message édité par Blo_odyMarY le 13-07-2006 à 14:30:42
Reply

Marsh Posté le 13-07-2006 à 11:45:39   

Reply

Marsh Posté le 13-07-2006 à 11:54:18    

Salut, le mieux est d'utiliser la fonction getElementsByTagName :
 

Code :
  1. var f = document.getElementById("idDeTonFormulaire" );
  2. if(f) {
  3.    var champs = f.getElementsByTagName("input" );
  4.    for(var i=0, n=champs.length; i<n; i++) {
  5.       alert(champs[i].getAttribute("id" ));
  6.    }
  7. }


Message édité par j_lecruel le 13-07-2006 à 11:55:23

---------------
♈ ♋ ♌ ♍ ♎ ♏ - Agora Fidelio | Galerie d'art Toulousaine
Reply

Marsh Posté le 13-07-2006 à 11:59:23    

Appliqué à mon exemple, ca donnerait ça ?
 

Code :
  1. var f = document.getElementById("formsup" );
  2.  if(f) {
  3.     var champs = f.getElementsByTagName("form_ppl_level" );
  4.     for(var i=0, n=champs.length; i<n; i++) {
  5.        alert(champs[i].getAttribute("id" ));
  6.     }
  7.  }


 
Si oui, je n'ai aucune erreur js, mais ca ne fait rien.

Reply

Marsh Posté le 13-07-2006 à 12:00:57    

Non, la fonction getElementsByTagName, comme son nom l'indique, permet des récupérer des éléments à partir de leur tag, donc input dans ton cas.


Message édité par j_lecruel le 13-07-2006 à 12:01:04

---------------
♈ ♋ ♌ ♍ ♎ ♏ - Agora Fidelio | Galerie d'art Toulousaine
Reply

Marsh Posté le 13-07-2006 à 12:02:45    

Voilà ce que je viens d'essayer, et pareil, aucune erreur js, et mais rien ne se produit :
 

Code :
  1. var f = document.getElementById("formsup" );
  2. if(f) {
  3.   var champs = f.getElementsByTagName("input" );
  4.   for(var i=0, n=champs.length; i<n; i++) {
  5.     alert(champs[i].getAttribute("form_ppl_level" ));
  6.   }
  7. }

Reply

Marsh Posté le 13-07-2006 à 12:06:05    

Ah, j'avais un name sur ma balise form, pas un id.
 
J'avance un peu, même si ca marche pas encore :)

Reply

Marsh Posté le 13-07-2006 à 14:04:23    

L'attribut name est deprécié sur tous les éléments sauf input...


---------------
♈ ♋ ♌ ♍ ♎ ♏ - Agora Fidelio | Galerie d'art Toulousaine
Reply

Marsh Posté le 13-07-2006 à 14:29:48    

c'est mon grand damn, je bosse sur une plateforme qui a été programmée il y a plusieurs années maintenant :(
 
j'ai réglé mon problème, merci pour ton aide.
 
 :hello:


Message édité par Blo_odyMarY le 13-07-2006 à 14:30:22
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed