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.


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'>
lors de l'execution IE me renvoi une erreur:

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 !!