Utiliser l'objet document avec une variable passée en paramètre [Résolu]

Signaler
Messages postés
3
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
30 septembre 2009
-
Messages postés
3
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
30 septembre 2009
-
Boujour à tous,
Je plante le décor : J'ai un javascript qui me permet de remplir un "select" (selectAOut) en fonction d'un autre "select" (selectAIn). Ce code fonctionne très bien :

[i]function changeliste() {
choix=document.monform.selectAIn.value
t="<select name='message'>"
for(i=0;i<liste[choix].length-1;i++)
t+="<option>"+liste[choix][i]+"</option>"
document.monform.selectAOut.outerHTML=t+"</select>"
}/i

Mon problème est que j'aimerais utiliser plusieurs "select" différents et donc j'ai une boucle "for" dans mon php et j'aimerais passer en paramètre le nom de mes "select" et les récupérer dans mon script
(par ex: changeliste(a,b))
et donc modifier
"document.monform.selectAIn.value" par quelque chose du genre
"document.monform.a.value"
où "a" est le 1er paramètre et
"document.monform.b.outerHTML" où "b" est mon 2ème paramètre. Et là, ça coince !!!

J'ai essayé avec "document.getElementById(a).value" et "document.getElementById(b).outerHTML". Ca marche, lors du 1er choix dans la première liste, la 2ème liste se charge bien, mais et si je veux choisir une autre ligne de la 1ère liste par la suite, la 2ème ne se modifie plus et garde le résultat précédent. J'espère que je me suis bien fait comprendre.

Merci pour votre aide.

Mieux vaut poser une question et passer pour un con un jour, que se taire est le rester pour toujours  . XBenny.

1 réponse

Messages postés
3
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
30 septembre 2009

Je me reponds à moi-même:

Le problème venait de la construction du 2ème "select" avec le javascript, dont voici le code AVANT correction de l'erreur:

[i]function changeliste() {
choix=document.monform.selectAIn.value
t="<select name='message'>"
for(i=0;i<liste[choix].length-1;i++)
t+="<option>"+liste[choix][i]+"</option>"
document.monform.selectAOut.outerHTML=t+"</select>"
}/i

Vu que j'ai utilisé un getElementById, beh y avait plus de "id" après avoir fait un premier choix. Ca marchait au premier choix car dans mon code php au chargement de la page j'avais ce code :

[i]echo'<select size="1" id="message'.$i.'" name="message[]">';
echo'<option>Choisir d\'abord la station</option>';
echo'</select></td>';/i

Problème résolu de cette façon:

[i]function changeliste(a,b) {
choix=document.getElementById(a).value
t="<select id='"+b+"' name='message[]'>"
for(i=0;i<liste[choix].length-1;i++)
t+="<option>"+liste[choix][i]+"</option>"
document.getElementById(b).outerHTML=t+"</select>"
}/i

Si ça peut aider quelqu'un....


Mieux vaut poser une question et passer pour un con un jour, que se taire est le rester pour toujours  . XBenny.