Version complète: sur le forum Webmaster Hub : Problème de remplissage d'un select en ajax et ie
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > AjaX et JavaScript
tataye
Bonjour,

J'ai un formulaire comprenant 3 listes déroulantes.

Le contenu de la deuxième liste est généré en fonction du choix que l'on a fait dans la première, et le contenu de la troisième est généré en fonction du choix que l'on a fait dans la deuxième.

Accessoirement, je travaille avec yui pour l'utilisation du XMLHttpRequest qui me permet d'alimenter les listes sans recharger la page.

Mon problème est le suivant :

Cas N°1 : j'affecte un id à mon select et ma fonction javascript va pointer sur ce select et l'alimenter avec une liste d'options.
Résultat : cela fonctionne très bien sous FF mais pas sous IE où je me retrouve avec une liste vide. Apparemment c'est un problème reconnu.

Cas N°2 : j'affecte un id à un div et ma fonction javascript va pointer sur ce div et y mettre mon select avec sa liste d'options.
Résultat : cela fonction aussi bien sous FF et sous IE, mais dans ce cas là, la fonction javascript qui aurait dû me permettre d'alimenter la 3ème liste à partir d'un choix dans la 2ème ne fonctionne pas, puisqu'elle a été affectée au chargement de la page à un select qui n'existe plus (celui-ci ayant été re-généré complètement).


CODE
YAHOO.util.Event.addListener( 'mon2èmeSELECT', 'change', function(e) { ajax.maFonctionAjax( 'LienVersLaPageQuiRenvoieLeSELECT', 'monDIVquiDoitContenirLe3èmeSELECT' ); YAHOO.util.Event.stopEvent(e); } );


On suit toujours ?

Mon problème est donc que la fonction affectée au 2ème select qui est générée en 'ajax' est inactive.

Pourriez-vous me conseiller ?
tataye
Pour info, ça fonctionne si on fait l'appel de fonction directement à partir du select avec un onchange="maFonction()"

J'ai l'habitude de séparer mon code js de mes pages en affectant mes fonctions aux balises avec un YAHOO.util.Event.addListener, et j'aimerai savoir si cela est possible dans ce cas de figure.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.