Bonjour,
Je travaille sur un script en javascript Asynchrone.
Le but est la mise à jour d'une liste déroulante a partir de la sélection d'une première liste.
Mon test fonctionne bien avec firefox, safari et chrome, mais pas avec IE.
Voici la fonction qui me pose problème:
Avec cette fonction, j'exécute un fichier php pour mettre la deuxième liste à jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 function request05(f) { var l1 = f.elements["list1"]; var l2 = f.elements["list2"]; var index = l1.selectedIndex; if(index < 1) l2.options.length = 0; else { var xhr_object = null; if(window.XMLHttpRequest) // Firefox xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // Internet Explorer xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return; } xhr_object.open("POST", "species.php", true); xhr_object.onreadystatechange = function anonymous() { if(xhr_object.readyState == 4) eval(xhr_object.responseText); } xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); var data = "family="+escape(l1.options[index].value)+"&form="+f.name+"&select=list2"; xhr_object.send(data); alert(l1.options[index].value); } }
Je transmet donc des variables par l'intermédiaire de data.
Le problème est que IE ne transmet pas la valeur sélectionné dans la première liste.
J'ai ajouté " alert(l1.options[index].value); ", pour voir le contenu et pour IE ca ne m'affiche rien, pour les autres navigateurs la sélection est bien transmise.
Voyez-vous ou est le problème ?
Merci d'avance.
Partager