erreur js sous ie, pas ff

Invité
Invité n'ayant pas de compte PHPfrance

17 mai 2007, 21:30

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?

ViPHP
ViPHP | 5924 Messages

18 mai 2007, 00:54

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.

Invité
Invité n'ayant pas de compte PHPfrance

18 mai 2007, 09:02

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?

Invité
Invité n'ayant pas de compte PHPfrance

18 mai 2007, 09:05

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

Invité
Invité n'ayant pas de compte PHPfrance

18 mai 2007, 10:04

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.