Pb javascript IE6

Résolu/Fermé
jmarc44 - 21 mars 2008 à 09:57
 jmarc44 - 21 mars 2008 à 15:39
Bonjour,

Je développe une application web sous apache/php/mysql.
Je cherche a prépositionner une liste déroulante d'un formulaire sur une valeur récupérée dans la base de données.
Le résultat est celui attendu, sous IE7, Firefox et Konqueror. Par contre sous IE6, la sélection est décalée d'une valeur vers le haut de la liste des options et le comble est que ce décalage disparait si j'insère un "alert() juste après la détection de la valeur sélectionnée dans le script.

Rien ne vaut une petite démo accessible sur http://jemach.free.fr/PbListeChoixIE6.html le code est bien sur accessible et réduit à son minimum. La différence entre le problème et la solution tient juste au fait de décommenter ou non la ligne "alert"

Vous pouvez le tester tel quel sous IE7, IE6, Konqueror et constater la différence sous IE6 alors qu'il n'y en a pas dans les autres cas..

Le résultat me laisse sans voix !!! ;-o

Si vous pouviez ajouter un peu de rationalité à se comportement plus que bizarre, ça m'arrangerait beaucoup.

Bon courage et merci de votre aide

Cordialement,

3 réponses

Pour le lien vers la démo, il y a juste une virgule en trop après le html.

Veuillez-excuser cette maladresse de débutant.

Cordialement,
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
21 mars 2008 à 10:12
J'ai regardé ta source,

est ce normal qu'il manque des ; à la fin d'un certain nombre de lignes dans ton JS ?
0
jmarc44 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
21 mars 2008 à 10:53
Non effectivement, ce n'est pas très propre, mais même en les ajoutant sur les ligne chk = true et chk = false, ça ne change rien et le problème persiste.
Merci d'avoir regardé.
0
La seule explication que je vois c'est dans l'interprétation du JS d'IE6.
A mon avis il commence à executer ta fonction avant même d'avoir fini de charger le DOM (essaye de lancer ta fonction dans le onLoad du body... possible que ca foncitonne après), du coup ton alert qui fait une "pause" permet au navigateur de charger le DOM avant de continuer;
0
Merci à vous,

Effectivement après deux essais d'implémentation du onLoad préconisé par bro, ça fonctionne correctement. L'ensemble est repris sur

http://jemach.free.fr/PbListeChoixIE6.html

Merci à tous et vive comment ça marche, parce que même quand on n'a tout essayé, il reste encore de l'espoir.

Bien à tous,

jmarc44
0