Page 1 sur 1

erreur js sous ie, pas ff

Posté : 17 mai 2007, 21:30
par Invité
Bonjour,
J'utilise la fonction suivante pour effectuer une redirection quand un item de liste déroulante est sélectionné:
function Lien() {
	var i = window.document.forms["Liste"].selectedIndex;
	if (i == 0) return;
	url = window.document.forms["Liste"].options[i].value;
	parent.location.href = url;
}
Et dans la page html :
<SELECT NAME="Liste" onChange="Lien();" style="margin:0px; padding: 0px;">
<OPTION VALUE="">Choisir une option</OPTION>
<OPTION VALUE="admin.php?page=stats&etat=off" <?php echo ($row['Etat'] == "off" ? "selected" : "" ); ?> >En congés</OPTION>
<OPTION VALUE="admin.php?page=stats&etat=on"  <?php echo ($row['Etat'] == "on" ? "selected" : "" ); ?> >En activité</OPTION>
</SELECT>
La fonction marche parfaitement sous firefox, mais me retourne une erreur sous ie:
Error: identificateur attendu
Voyez vous ce qui cloche?

Posté : 18 mai 2007, 00:54
par Sékiltoyai
Le tableau forms est sensé contenir des formulaires, pas des select, sur ce point IE est plus logique que Firefox. Utilise plutôt la méthode getElementsByName("truc")[0] pour sélectionner ton select.

Posté : 18 mai 2007, 09:02
par Invité
A priori le problème ne vient pas de cette fonction.
En alltant sur le site http://www.librairiegiard.com , on trouve un menu flash intégré à la page avec un peu de javascript.

Le menu est visible sous ff, pas ie. Sous ie, j'ai la même erreur 'identificateur attendu' et le menu n'apparait pas (erreur au chargement).

Savez vous d'où ça peut venir?

Posté : 18 mai 2007, 09:05
par Invité
en fait je suis pas très sur de ce que je dis. Toutes mes fonctions js sont dans le même fichier, et c'est peut être une erreur dans la fonction qui empêche le chargement...mais pourquoi des problèmes uniquement sous ie?
je vais surrprimer les fonctions une à une pour voir celle qui bloque. si vous avez des suggestions...

Posté : 18 mai 2007, 10:04
par Invité
trouvé!
En fait j'ai utilisé le mot réservé "import" pour désigner et manipuler une variable dans une fonction javascript. FF l'a toléré, pas IE.
Dur dur le débuggage javascript.