Aller au contenu

Sujets conseillés

Posté

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 :

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 :

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 :)

Posté

bonjour,

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

for(i=1;i<4;i=i+1)
{
champ = eval("document.formulaire.champ_"+i);
alert(champ.value);
}

Posté

Ok, merci, ça marche du tonnerre ;)

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 :)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...