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 :

getElementById() est inconsistante !


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut getElementById() est inconsistante !
    Bonsoir à tous ,
    je n'en ai pas fini avec les fonctions getElement.....() :
    en effet, lorsque je tape :
    j'obtiens un HTMLElement correspondant à l'un des id de mes balises ...
    mais lorsque je tape :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getElementById('avril');
    j'obtiens Null alors qu'une de mes balises possède l'id correspondante .
    Questions :
    1)getElementById() ne fonctionne-t-elle qu'avec des identifiants "numériques" ?
    2)Lorque je demande l'affichage du code source de la page le navigateur me rajoute des sauts de ligne que je trouve étranges , du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    </tr>
    	<tr id="janvier
    		"><td style="font-size:10pt">janvier
    		</td><td id="1" style="background-color:orange;font-size:10pt">RH</td><td id="2" style="b
    vous voyez le saut de ligne après "janvier .
    est ce normal ?
    n'y aurait-il pas ajout d'espaces qui empêcheraient la détection de l'id ?

    Je ne sais plus quoi faire ....

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    vous voyez le saut de ligne après "janvier .
    est ce normal ?
    n'y aurait-il pas ajout d'espaces qui empêcheraient la détection de l'id ?
    j'aime bien ta candeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	<div id="janvier
    		" onclick="alert('[' + this.id +']');">XXXXXXXXXXXXXXXXX</div>
    essaies simplement ce code et tu verras de toi même

  3. #3
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut
    essaies simplement ce code et tu verras de toi même
    j'essaie ....
    D'accord il y a pas mal d'espace entre les 2 crochets mais cela ne résout pas mon problème. La ligne générant la balise ressemble à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...............
    echo '<tr id="'.$month.'">';
    .............
    Pourquoi donc PHP me rajoute-t-il des espaces ????

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Là ce n'est plus de la candeur ...

    je ne vois pas le rapport entre le fait que TON code soit généré par PHP et faire un essai avec le code que te propose NoSMo ...

    Maintenant si c'est PHP qui génère le code avec les retours lignes dans les id, javascript n'y peut rien ... c'est coté PHP qu'il faut résoudre le souci

    Pour les six femmes de ton oncle faudra repasser ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    Citation Envoyé par exe2bin Voir le message
    1)getElementById() ne fonctionne-t-elle qu'avec des identifiants "numériques" ?
    Au contraire, il est même déconseiller de n'utiliser que des numériques ou le commencer par un numérique.
    Citation Envoyé par exe2bin Voir le message
    2)Lorque je demande l'affichage du code source de la page le navigateur me rajoute des sauts de ligne que je trouve étranges , du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    </tr>
    	<tr id="janvier
    		"><td style="font-size:10pt">janvier
    		</td><td id="1" style="background-color:orange;font-size:10pt">RH</td><td id="2" style="b
    vous voyez le saut de ligne après "janvier .
    est ce normal ?
    n'y aurait-il pas ajout d'espaces qui empêcheraient la détection de l'id ?

    Je ne sais plus quoi faire ....
    On ne sait pas comment tu l'a généré coté serveur (php), mais essaie de supprimer les caractères invisibles en utilisant la fonction preg_replace()

    A+.

  6. #6
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut
    essaies simplement ce code et tu verras de toi même
    j'essaie ....
    D'accord il y a pas mal d'espace entre les 2 crochets mais cela ne résout pas mon problème. La ligne générant la balise ressemble à ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '<tr id="'.$month.'">';
    echo '<td style="font-size:10pt">'.$month.'</td>';

    Pourquoi donc PHP me rajoute-t-il des espaces ????

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Parce que la var $month contient un saut de ligne à la fin. As-tu lu mon post?

    A+.

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    la reponse se trouve coté PHP comme susdit ...
    en particulier avec la fonction trim() ou strtr() ou autres preg_replace()
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut
    citation:
    Parce que la var $month contient un saut de ligne à la fin. As-tu lu mon post?

    Oui je l'ai lu et je te remercie ; tout cela est fort compliqué mais tu m"as donné la puce à l"oreille ; voilà le problème :
    le PHP ouvre un fichier XML puis cherche les variables parmi les balises.
    Pour faire respirer le code xml j'avais effectivement inséré de saut de ligne qui bien sûr se retrouvent dans les variables !!
    Conclusion : je me demande si le précepte d'indentation d"un code quel qu"il soit n'induit pas certains effets pervers !

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Est-ce difficile de nettoyer les indentations dans ton XML pour faire un test ?

  11. #11
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut
    Je l'ai testé et .... CA MARCHE !!!
    merci et respect

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

Discussions similaires

  1. a la valeur Null ou n'est pas un objet et getElementById
    Par adroussel dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 13/01/2010, 01h22
  2. getElementById(id+<Expression Regulière>) : est-ce possible ?
    Par _jey_ dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 10/06/2009, 14h40
  3. Pop Up qui disparaît + getElementById() qui est indefined
    Par Général03 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 11/03/2009, 11h33
  4. document.getElementById(id) si id est absent du code HTML
    Par j.p.mignot dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/01/2008, 21h34
  5. getElementById['exemple'].innerHTML= erreur(null ou n'est..)
    Par weldoo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/01/2006, 17h11

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