[JavaScript] interprétation var dans function

Résolu/Fermé
Mr.White Messages postés 251 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 juillet 2012 - 12 juin 2007 à 12:10
Mr.White Messages postés 251 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 juillet 2012 - 13 juin 2007 à 16:46
Bonjour,

Je rencontre un problème dans une fonction JS lors de l'interprétation d'une variable. Ce problème est survenu lorsque j'en traité un autre à cette adresse :

php ou autre o recup contenue input file

Voici l'appel de ma function :

onmouseover="changePhoto(0, 'Photo_Bienv')";



Et voici la function :

function changePhoto(numForm, nomChamp){
	document.forms['form'.concat(numForm)].nomChamp.value=document.forms['form'.concat(numForm)].Photo_Bienv_toph.value;
}



Le but est de copier le contenu d'un champ de formulaire dans un autre.

J'ai l'impression que tout ce passe comme si dans mon instruction la variable nomChamp n'est pas interprété, c'est à dire qu'il ne transforme pas nomChamp par son contenu. J'ai bien tester des .value, des .toString() et .valueOf() mais rien à faire. J'ai tester en inscrivant les infos en dure (en remplacant moi même la variable par son contenu, dans l'exemple nomChamp = 'Photo_Bienv') et sa fonctionne.

Voila, je ne comprend pas pourquoi je n'arrve pas à utiliser ma variable.

Merci.

2 réponses

Mr.White Messages postés 251 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 juillet 2012 53
13 juin 2007 à 16:46
et bien document.getElementById() ne fonctionne pas :o{

Sinon je testé en affichant dans une alert et ça m'afficher un "object HTMLInputElement " ou un "undefined"

j'ai eu la solution sur toutjavascript.

document.forms['form'+numForm].elements[nomChamp].value


Il faut savoir aussi que j'ai plusieur formulair qui contiennt le même genre d'élément (qui ont le même nom). Je devai donc forcément spécifier le formulaire.
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
12 juin 2007 à 20:03
salut,

pour déboguer tu peux utiliser FireBug sur FF.

il doit y avoir la 'parseStr()' qui te permettra peut être de concatainer correctement le nom.

mais pourquoi n'utilises-tu pas plutôt 'document.getElementById()' - en plus il me semble que la méthode est plus sure.
tu n'as plus qu'à passer l'id comme paramètre pour obtenir l'élément et redéfinir la valeur.