11548 sujets

JavaScript, DOM et API Web HTML5

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).


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


On suit toujours ? Smiley biggol

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 ? Smiley sweatdrop
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.