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 :

document.getElementById("hidden" + NumDiv) is null


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut document.getElementById("hidden" + NumDiv) is null
    Bonjour,

    J'ai un léger problème avec une fonction JavaScript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function ChangeEtat (NumDiv)
    {
    	if (document.getElementById('hidden'+NumDiv).value == 1)
    	{
    		document.getElementById('hidden'+NumDiv).value = 2;
    		alert('Le champ hidden passe de 1 à 2 :'+document.getElementById('hidden'+NumDiv).value);
    	}
    }
    Quand je l'exécute j'obtiens bien le message suivant :

    Le champ hidden passe de 1 à 2 :2
    Mais lorsque je reexécute la fonction, j'ai l'erreur FireBug suivante :

    document.getElementById("hidden" + NumDiv) is null
    [Break on this error] if (document.getElementById('hidden'+NumDiv).value == 1)
    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 207
    Points : 344
    Points
    344
    Par défaut
    Essaye de faire ceci avant l'erreur qu'il t'indique, car tu as peut-être un hiddenNumDiv qui n'existe pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (document.getElementById('hidden'+NumDiv)
    {
    ...
    }

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (document.getElementById('hidden'+NumDiv).value == 1)
    {
    	alert(document.getElementById('hidden'+NumDiv).value);
    }
    J'ai beau cliquer 10 fois, j'obtient toujours la valeur 1 (déclarée dans le body par
    <input id="hidden1" type="hidden" value="1" />
    )

    //-

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (document.getElementById('hidden'+NumDiv))
    {
    	document.getElementById('hidden'+NumDiv).value = 2;
    	alert('Le champ hidden passe de 1 à 2 :'+document.getElementById('hidden'+NumDiv).value);
    }
    Là il me retourne toujours
    Le champ hidden passe de 1 à 2: 2

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut
    Comme ceçi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="flag1" onclick="ChangeEtat('1');"><input id="hidden1" type="hidden" value="1" /><img ... ></div>

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 207
    Points : 344
    Points
    344
    Par défaut
    Et tu as toujours l'erreur JS de firebug avec ce que je t'ai donné ?

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut
    Citation Envoyé par scourjean Voir le message
    Et tu as toujours l'erreur JS de firebug avec ce que je t'ai donné ?
    Non, à chaque clique j'ai ma fenêtre alert qui m'affiche le message sans erreur firebug.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 207
    Points : 344
    Points
    344
    Par défaut
    Et où est le problème donc car tu disais :

    Bonjour,

    J'ai un léger problème avec une fonction JavaScript :

    Code :
    function ChangeEtat (NumDiv)
    {
    if (document.getElementById('hidden'+NumDiv).value == 1)
    {
    document.getElementById('hidden'+NumDiv).value = 2;
    alert('Le champ hidden passe de 1 à 2 :'+document.getElementById('hidden'+NumDiv).value);
    }
    }
    Quand je l'exécute j'obtiens bien le message suivant :

    Citation:
    Le champ hidden passe de 1 à 2 :2
    Mais lorsque je reexécute la fonction, j'ai l'erreur FireBug suivante :

    Citation:
    document.getElementById("hidden" + NumDiv) is null
    [Break on this error] if (document.getElementById('hidden'+NumDiv).value == 1)
    Merci

  8. #8
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut
    Je ne sais pas trop ce qu'il plante, je sais juste que lorsque je clique une fois il m'affiche le bon message alert(), et quand je clique une seconde fois (donc quand document.getElementById('hidden'+NumDiv).value est redéfini), j'ai le message d'erreur FireBug qui me dit que la valeur de document.getElementById('hidden'+NumDiv).value est NULL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function ChangeEtat (NumDiv)
    {
    	if (document.getElementById('hidden'+NumDiv).value == 1)
    	{
    		alert('Le champ hidden passe de 1 à 2 :'+document.getElementById('hidden'+NumDiv).value);
    		document.getElementById('hidden'+NumDiv).value = 0;
    		$('#flag'+NumDiv).html('<img src="img/ico_flag.png" width="15" height="15" />');
    	}
    	else
    	{
    		document.getElementById('hidden'+NumDiv).value = 1;
    		document.getElementById('flag'+NumDiv).style.visibility = 'visible';
    		$('#flag'+NumDiv).html('<img src="img/flag_red.gif" width="15" height="15" />');
    	}
    }

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 207
    Points : 344
    Points
    344
    Par défaut
    Hum pardon je sais pourquoi maintenant que tu as donné le code complet JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#flag'+NumDiv).html('<img src="img/ico_flag.png" width="15" height="15" />');
    Cette ligne écrase ton champ input il faut que le mette en dehors du div flag

  10. #10
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut
    Ah oué pas faux ...

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

Discussions similaires

  1. [DOM] document.getElementById is null
    Par camyo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/06/2009, 07h24
  2. Erreur : document.getElementById('image').src is NULL
    Par CKLOL dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/05/2009, 10h56
  3. La fonction document.getElementById retourne NULL
    Par zaineb.z dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/05/2008, 18h09

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