Bonjour à tous,
Je me trouve dans la position amusante de devoir écrire un peu de javascript alors que je ne connais pas le langage...
Je cherche à manipuler les options d'un select et j'ai qqs bizareries.
Ma form:
Le javascript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <FORM ACTION="http://www.google.be/search" NAME="testForm" onSubmit="true"> <select name="q"> Query <OPTION VALUE="S1"> E1 <OPTION VALUE="S2"> E2 <OPTION VALUE="S3"> E3 <OPTION VALUE="S4"> E4 <OPTION VALUE="S5"> E5 </select> </FORM>
J'ai un petit peu simplifié mon code, j'espère ne pas avoir introduit d'erreur en le faisant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function feedback_select() { document.write("<BR> The query value:"); document.write(document.testForm.q.value); // Done S1 (ou S2,...) var quer = document.getElementById('q'); document.write(quer.childNodes.length); // Donne 6 sur Explorer, 5 sur opera : Explorer rajoute en indice 0 un #text de valeur "Query" document.write(quer.childNodes[1].childNodes[0].nodeValue); Donne E1 ou E2 }
La différence entre Opera et Explorer est gênante (lequel respecte les specs?) mais contournable en itérant sur les childNodes et en vérifiant le type des noeuds, cette manipulation est déjà présente dans mon code réel.
Mon problème, est que j'aimerais récuperer les valeurs "S1", S2" etc dans mon script et non pas les "E1", "E2" qui sont destinés à être montrés à l'utilisateur mais pas à être utilisés tels quels. Quelqu'un sait comment faire?
(Note: L'action de faire une recherche google n'est pas l'utilité finale de mon code, c'est juste un truc facile pour faire des tests. L'utilité finale, sera d'utiliser javascript pour changer les champs présents dans mon select selon la valeur retournée par une applet et de stocker l'option choisie par l'utilisateur dans un cookie. Le probème exposé ici n'est donc qu'une petite partie du schmilblic.)
Partager