Aller au contenu

Problème de remplissage d'un select en ajax et ie


Sujets conseillés

Posté

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 ?

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 ?

Posté

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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...