Version complète: sur le forum Webmaster Hub : Concaténation Javascript
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Scripts et utilitaires
Vanator
Bonjour, j'ai un soucis en javascript avec la concaténation.

En fait j'ai un formulaire dynamique, c'est à dire le nombre de champs est variable selon ce qui est trouvé dans la base de donnée. je les nomme par exemple 'nomduchamp_'.$i où $i change. C'est à dire j'ai un champ 'champ_1', 'champ_2', 'champ_3', etc.

Dans mon fichier javascript j'aimerai pouvoir récupérer le nom du champ grâce à une boucle pour faire subir un traitement.

Voici donc comment j'ai essayé de faire au moins pour tester si le script prenait bien ce que je voulais :
CODE
for(i=1;i<4;i=i+1)
{
    champ = document.formulaire.champ_+i;
    alert(champ.value);
}

Mais évidemment ça ne marche pas [decu]
La manière de concaténer n'est pas bonne. Mais si je mets ceci :
CODE
for(i=1;i<4;i=i+1)
{
    champ = 'document.formulaire.champ_'+i;
    alert(champ.value);
}

J'obtiens bien "document.formulaire.champ_1", "document.formulaire.champ_2", etc, mais il le prend comme une chaîne de caractère et non plus un objet.

Quelqu'un pourrait-il m'aider pour résoudre ce problème ?

Merci d'avance smile.gif
Vincent
bonjour,

il faut utiliser la fonction eval(), qui sert a evaluer la chaine de caractere en parametre

CODE
for(i=1;i<4;i=i+1)
{
champ = eval("document.formulaire.champ_"+i);
alert(champ.value);
}
Vanator
Ok, merci, ça marche du tonnerre wink.gif

Après avoir apprit à maîtriser pas trop mal PHP je débute en Javascript, donc je n'ai pas encore l'habitude.

Merci beaucoup smile.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.