Bonjour !
Je sollicite votre attention pour un probleme que je n'arrive pas a resoudre sur l'evenement onchange d'une liste deroulante!
En effet lorsque la valeur de la liste deroulante change je souhaite agir sur deux autres listes déroulantes.
Je me suis inspiré du POST Ajax (sur les listes deroulantes) du forum.
lors de l'execution IE me renvoi une erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <select class="cellule" name='groupe' id='groupe' onchange='go_s();go_lst'>
Erreur: Erreur d'execution inconnue.
De plus lorsque je selectionne un element de ma liste principale le resultat s'affiche pas dans la bonne zone ( c a dir : ds la liste deroulante 2 o lieu d'etre ds la liste deroulante 3)
voici mes fonctions :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 // agir sur la liste deroulante 2 a partir de la liste 1 function go_s() { getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200) { leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('sous_groupe').innerHTML = leselect; } } // Ici on va voir comment faire du post xhr.open("POST","AjaxSousGroupe.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments // ici, l'id du groupe sel = document.getElementById('groupe'); id_g = sel.options[sel.selectedIndex].value; xhr.send("id_g="+id_g); } // agit sur la liste deroulante 3 a aprtir de la liste 1 function go_lst() { getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200) { leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('liste_m').innerHTML = leselect; } } // Ici on va voir comment faire du post xhr.open("POST","AjaxListeNoSG.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments // ici, l'id du sous groupe sel = document.getElementById('groupe'); id_l = sel.options[sel.selectedIndex].value; xhr.send("id_l="+id_l); }
jespere qu'il y a assez d'elements afin que vous puissiez m'aider !!
Partager