IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Portion de code qui ne fonctionne pas dans un <form>


Sujet :

JavaScript

  1. #1
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut Portion de code qui ne fonctionne pas dans un <form>
    Bonjour

    J'ai une erreur javascript récurrente qui empêche l'exécution d'un script. Lorsque le code suivant est appelé après avoir mis la balise </form>, ça marche, et avant, ça me renvoie l'erreur "menuItems est indéfini".
    Pourtant, dans les 2 cas menuItems est déclaré comme un Array()
    Quelqu'un aurait-il une idée sur la question ?

    Le code en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function addMenuItem(text, url, img, target)
    {
    	if(img) {
    		menuItems[menuItemNum] = new Array(text, url, img, target);
    	}
    	else if (text) {
    		menuItems[menuItemNum] = new Array(text, url, null, target);
    	}
    	else {
    		menuItems[menuItemNum] = new Array();
    	}
    	menuItemNum++;
    }
    et le code d'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:void(0)" onclick="javascript:isIe = 1;menuItems = new Array();menuItemNum = 0;addMenuItem('toto','foo','bar');">blabla</a>
    Donc par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form name=blibli>
    </form>
    <a href="javascript:void(0)" onclick="javascript:isIe = 1;menuItems = new Array();menuItemNum = 0;addMenuItem('toto','foo','bar');">blabla</a>
    fonctionne mais pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form name=blibli>
    <a href="javascript:void(0)" onclick="javascript:isIe = 1;menuItems = new Array();menuItemNum = 0;addMenuItem('toto','foo','bar');">blabla</a>
    </form>
    ne fonctionne pas. J'utilise exclusivement IE6 pour cette application.

    Merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    et pourquoi ne pas utiliser la version qui fonctionne alors ?

    Il est possible que l'erreur vienne d'ailleurs.

    Sinon, pas de "javascript:" dans le onclick ...

    A+

  3. #3
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut
    Merci pour ta réponse, Malheureusement j'ai besoin de la première version, car il mfaut que j'ajoute d'autres balises input après le lien.
    J'ai essayé sans le "javascript:" dans le onclick, ça ne change rien. D'ailleurs, pourquoi ne pas le mettre ? On pourrait bien exécuter du vbs dans IE sans préciser, non ? C'est pas comme préciser 'language="JavaScript" type="text/javascript"' dans <link> ?

    Et l'erreur vient forcément de là, c'est la seule chose qui change dans le code...

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,


    déclare tes variables....
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    var menuItems = new Array();
    var isIe;
    var menuItemNum;
     
    function addMenuItem(text, url, img, target)
    {
    	if(img) {
    		menuItems[menuItemNum] = new Array(text, url, img, target);
    	}
    	else if (text) {
    		menuItems[menuItemNum] = new Array(text, url, null, target);
    	}
    	else {
    		menuItems[menuItemNum] = new Array();
    	}
    	menuItemNum++;
     
    	alert("ok");
    }

  5. #5
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut
    My hero !
    Bon, c'était pas grand chose... ça se voit tant que ça que je connais rien au javascript ?

    Merci beaucoup en tout cas, ça m'empoisonnait bien la vie.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 30/03/2007, 17h30
  2. [Language] Code qui ne fonctionne pas
    Par kevinf dans le forum Langage
    Réponses: 2
    Dernier message: 21/11/2006, 21h08
  3. Code qui ne fonctionne pas
    Par maxti dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/10/2006, 11h45
  4. [FTP] fopen qui ne fonctionne pas dans tous les contextes ..
    Par Christophe Charron dans le forum Langage
    Réponses: 6
    Dernier message: 15/06/2006, 10h25
  5. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo