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 :

tester une valeur undefined


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 30
    Points : 23
    Points
    23
    Par défaut tester une valeur undefined
    bonjour, j'ai un script qui tourne correctement sous IE7 et pas sous Firefox. Voici le code incriminé:

    var jg= oLnk.getAttribute('jmGraph');
    if (jg==null){
    jg= new jsGraphics('Link_'+etape+'_'+exit);
    oLnk.setAttribute('jmGraph', jg);
    }
    jg.clear();


    sous IE, jg vaut null alors que sous Firefox, il est undefined
    donc le test à null ne fonctionne qu'avec IE et du coup, je me bâche avec Firefox sur la dernière ligne puisqu'il ne sais pas appliquer clear sur un undefined.
    Comment s'en sortir élégamment ?
    merci de vos réponses

  2. #2
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut
    d'ordinaire on met le code en evidence en utilisant le bouton # de l'éditeur, essaye d'y penser la prochaine fois

    pour ton souci, tu peux essayer ceci (j'ai pas testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var jg= oLnk.getAttribute('jmGraph');
    if (jg == 'undefined') jg = null;
    if (jg==null){
    jg= new jsGraphics('Link_'+etape+'_'+exit);
    oLnk.setAttribute('jmGraph', jg);
    }
    jg.clear();
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var jg= oLnk.getAttribute('jmGraph');
    if (jg==null || jg == 'undefined'){
    jg= new jsGraphics('Link_'+etape+'_'+exit);
    oLnk.setAttribute('jmGraph', jg);
    }
    jg.clear();

  3. #3
    Membre habitué Avatar de Capt. Flame
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Points : 196
    Points
    196
    Par défaut
    Tu peux simplement faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(jg){
        // à ce moment jg n'est ni null ni undefined...
    }
     
    if(!jg){
        // à ce moment jg est null ou undefined...
    }
    Si non la réponse de Julien était bonne mais pas besoin de mettre undefined entre ''

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(jg != null && jg != undefined){
        // à ce moment jg n'est ni null ni undefined...
    }
     
    if(jg == null || jg == undefined){
        // à ce moment jg est null ou undefined...
    }
    - Capt.

    Proverbe Shadok:
    S'il n'y a pas de solutions, il n'y a pas de problèmes

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    ça renvoie toujours une erreur sur le clear comme quoi jg est undefined. J'ai contourné en écrivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	try {
    	    jg.clear();
                } catch(err) {
                 	jg= new jsGraphics('Link_'+etape+'_'+exit);
    		oLnk.setAttribute('sdtGraph',jg);
    		jg.clear;
                  }

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

Discussions similaires

  1. Tester une valeur
    Par Spitfire378 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/02/2008, 21h27
  2. [debutant] tester une valeur numerique
    Par lolodev dans le forum Flex
    Réponses: 2
    Dernier message: 13/12/2007, 22h55
  3. Tester une valeur au sein d'une table
    Par titof90 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/06/2007, 08h59
  4. [vb excel]Tester une valeur dans une ligne
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/09/2005, 13h58
  5. [vb.net] tester une valeur nulle de maniere elegante
    Par graphicsxp dans le forum Windows Forms
    Réponses: 5
    Dernier message: 22/08/2005, 15h36

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