ce code me permet de récupérer le texte d'une option d'un selectCode:
1
2 var texte; texte = document.getElementById("liste").options[document.getElementById('liste').selectedIndex].text;
comment faire si j'ai plusieurs liste déroulante ?
Version imprimable
ce code me permet de récupérer le texte d'une option d'un selectCode:
1
2 var texte; texte = document.getElementById("liste").options[document.getElementById('liste').selectedIndex].text;
comment faire si j'ai plusieurs liste déroulante ?
Ben... tu fais la même chose pour les autres listes. :?
Code:
1
2 var texte2; texte2 = document.getElementById("liste2").options[document.getElementById('liste2').selectedIndex].text;
pourquoi la plus par du temp vous utilisez cette syntaxe abominable pour recuperer la valeur selectionné il suffit d'utiliser value c'est fait pour
et quand on a plusieurs selecte il faut utiliser les parametres de la fonction ou boucler sur les element tous depend du contexteCode:
1
2
3 var texte; texte = document.getElementById("liste2").value
je me suis mal expliqué j'ai un formulaire qui contient des champ type text ,date, bouton radion, case a coché et liste deroulante
j'ai une fonction javascript qui parcours le formulaire et affiche le contenu seulement je bloque au niveau de la liste deroulante (j en ai plusieurs )
je pense que je doit mettre un if !!!?
voici mon code JS
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function afficher(){ var mesg = " Vérification de votre formulaire \n"; var f=document.forms["CarteGrise"]; for(var i=1; i<f.elements.length; i++) if((f.elements[i].type == 'text') || (f.elements[i].type == 'date')){ if (f.elements[i].value == ""){ alert ( "les champs ne sont pas remplis !" ); f.elements[i].focus(); valid = false; return valid; } else{ mesg += f.elements[i].name + ": "; mesg += f.elements[i].value + "\n"; } } else if (f[i].checked == true){ mesg += f.elements[i].name + ": "; mesg += f.elements[i].value + "\n"; } alert(mesg); }
Là je comprends plus
si tu parcours les inputs il suffit d'afficher la valeur de chaque input
dans la boucle tu en a qu'un donc tu fait pareil pour tous
A+JYT
mais au niveau de mes listes deroulante je fais comment !! !!! :calim2: :(
Bonjour,
de la même façon que pour le reste dans la boucle en testant par exemple
Code:
1
2
3 if( oElem.tagName === 'SELECT'){ alert( oElem.value); }
ça marche pas :( stp tu peut etre plus précis ! sachant que j'ai 3 liste déroulante Wilaya Marque et Vehicule
là cela nous permet de progresser...Citation:
ça marche pas :( stp
Il va de soit qu'il faut que tu adaptes à ton contexte.
j'ai mis sa
ça marche pasCode:
1
2
3
4 else { if( f.elements[i].type === 'SELECT'){ mesg += f.elements[i].value; } }
sinon l'autre solution après chaque champ il m'affiche la valeur du select !!
J'ai écrisalors pourquoiCitation:
if( oElem.tagName === 'SELECT')
Citation:
if( f.elements[i].type === 'SELECT')
j'ai mis saet ça marche tjr pasCode:
1
2
3
4
5
6 else if( oElem.tagName === 'SELECT') { mesg +=( oElem.value); } alert(mesg);
Tu n'as pas remarqué que dans ton code, tu n'utilises pas de variable oElem ? :calim2:
j'ai mis ça
et ça marche seulement j'ai besoin de récupérer le texte d'une option d'un select pas la valeur et aussi le nom de la liste déroulanteCode:
1
2
3 else if (f.elements[i].tagName === 'SELECT'){ mesg += f.elements[i].value + "\n";} alert(mesg);
essai comme ceci
selectedIndex quand tu me tientCode:
1
2 mesg +=f.elements[i].getElementsByTagName("option")[f.elements[i].selectedIndex].firstChild.nodeValue);
et pour le nom
Code:f.elements[i].name
ça marche ; merciii
:D