[javascript] concaténer une variable

mely07 Messages postés 5 Statut Membre -  
 Webseb -
Bonjour,
j'ai un formulaire ayant des champs texte.
Ce nombre de champs texte dépend d'un nombre saisi par l'utilisateur auparavant.
Ces champs textes sont donc générer dans une boucle for, pour qu'ils aient des noms différents, j'ai mis un suffixe correspondant au compteur de la boucle :

for($i=;$i<$nb_options;$i++){ 
?> <input type="text" name="texte_<? echo $i ?>"> 
...... 
} 



Ma question est de savoir comment connaître la valeur saisie par l'utilisateur pour chacun de ces champs dans mon script JavaScript :
en effet je fais également une boucle mais au moment de récupérer la valeur :

var texte; 
for(var i=0;i<nb_options;i++){ 
  texte=document.FormAjoutChamp.texte_i.value; 
} 



Le problème c'est la concaténation avec i.

Merci de m'aider car ce sont mes premiers pas dans JavaScript.
Merci beaucoup en espérant avoir été claire.

4 réponses

Webseb
 
Je viens de galérer sur exactement le même problème... Je sais que je remonte un vieux topic, mais comme c'est très souvent ce site qui ressort en premier dans les résultats Google, je me permets de publier ma solution, car la "meilleure réponse" ne fonctionne pas...

tmp = 'document.FormAjoutChamp.texte_' + i + '.value';
texte = eval(tmp);

Je sais que c'est un peu vieillot, mais ça marche (testé sur Firefox, IE, Chrome, Opera et Safari).
Je l'ai trouvé ici :
https://forum.hardware.fr/hfr/Programmation/HTML-CSS-Javascript/concatenation-variables-sujet_52108_1.htm
22
Utilisateur anonyme
 
essaie ca
tmp = "texte_" + i;
texte = document.FormAjoutChamp.tmp.value;
6
Utilisateur anonyme
 
ou

for(var i=0;i<nb_options;i++)
{
texte=document.getElementById("texte_" + i).value;
}

plutot
6
bastian
 
sauf que c est pas un ID mais un TagName..... et c est sensé etre la meilleure réponse???
0
mely07 Messages postés 5 Statut Membre 6
 
merci beaucoup ! !
4