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

jQuery Discussion :

Variable dans getElementById


Sujet :

jQuery

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Points : 98
    Points
    98
    Par défaut Variable dans getElementById
    Salut !

    C'est à n'y rien comprendre !!!

    J'ai un fichier php qui retourne en ajax >> 'valid2'

    Ma fonction ajax:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $.ajax({
    	url: "get_admin.php", // le nom du fichier indiqué dans le formulaire
    	type: $(this).attr('method'), // la méthode indiquée dans le formulaire (get ou post)
    	data: $(this).serialize(), // je sérialise les données (voir plus loin), ici les $_POST
    	success: function(results) {			
    		document.getElementById(results).style.backgroundColor= 'green';
    	}
    });
    Mais j'ai l'erreur
    Uncaught TypeError: Cannot read property 'style' of null
    Alors que si je tape directement

    document.getElementById('valid2').style.backgroundColor= green'; TOUT fonctionne !!

    Si vous avez une idée ?

    Merci !

  2. #2
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu es sur du code montré ???
    il manque un { à ta fonction success ...

    et un ' autour de la propriété


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $.ajax({
    						    url: "get_admin.php", // le nom du fichier indiqué dans le formulaire
    						    type: $(this).attr('method'), // la méthode indiquée dans le formulaire (get ou post)
    						    data: $(this).serialize(), // je sérialise les données (voir plus loin), ici les $_POST
    						    success: function(results){
     
    $("#"+results).style.backgroundColor= 'green';					
     
    						}
    						 });

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Points : 98
    Points
    98
    Par défaut
    Merci de ta réponse.

    En effet ! Mauvais copier/coller !

    Voilà le code testé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $.ajax({
    	url: "get_admin.php", // le nom du fichier indiqué dans le formulaire
    	type: $(this).attr('method'), // la méthode indiquée dans le formulaire (get ou post)
    	data: $(this).serialize(), // je sérialise les données (voir plus loin), ici les $_POST
    	success: function(results) {			
    		$("#"+results).style.backgroundColor= 'green';
    	}
    });
    return false; 
    });
    });
    Le php renvoie valid2

    Mais j'ia l'erreur:
    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
    16
    Uncaught Error: Syntax error, unrecognized expression: #
     
     
    valid2 jquery.min.js:3
    m.error jquery.min.js:3
    m.filter jquery.min.js:3
    m jquery.min.js:3
    c.querySelectorAll.m jquery.min.js:3
    f.fn.extend.find jquery.min.js:3
    e.fn.e.init jquery.min.js:2
    e jquery.min.js:2
    $.ajax.success admin.php:351
    o jquery.min.js:2
    p.fireWith jquery.min.js:2
    w jquery.min.js:4
    d jquery.min.js:4
    Y'a un autre truc étrange !! Quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('test').innerHTML="#"+results;
    Il me renseigne dans ma balise test # valid2 et non #valid2. Il met un espace ??!!!

    ça pourrait venir de là ??

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#"+results).css({"background-color":"green"});
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#"+results).css("background-color","green");
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#"+results).get(0).style.backgroundColor="green";

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Points : 98
    Points
    98
    Par défaut
    Aucun de tout ça fonctionne !

    Tu as lu ma remarque sur le innerHTML précédemment ?

    Le problème doit venir de là.

  6. #6
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    c'est que ta page php retourne un espace avant ...

    soit il est avant ta balise php ...
    soit tu as du BOM

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Points : 98
    Points
    98
    Par défaut
    PHP retourne dorénavant, l'id 2

    Si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('test').innerHTML=results;
    Pas d'espace devant le 2

    Si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('test').innerHTML="#"+results;
    Espace: # 2

    A n'y rien comprendre !

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ce n'est pas un espace ... c'est du BOM ...
    ton fichier php renvoie du BOM

    soit tu mets ton fichier php en "sans BOM"
    soit tu fais un trim de result

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Points : 98
    Points
    98
    Par défaut
    Côté PHP j'ai mis et j'ai toujours le même problème.

    C'est énervant !

    Sous NotePad++, l'encodage est UTF-8 SANS BOM

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Points : 98
    Points
    98
    Par défaut
    Dans mon php:

    si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($_POST["idMatch"]) {echo $_POST["idMatch"];}
    ça ne fonctionne pas >> espace

    si je sors du if:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_POST["idMatch"];
    c'est ok !

    Je ne comprends RIEN !

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 266
    Points : 98
    Points
    98
    Par défaut
    J'ai trouvé !!

    C'était 2/3 espaces à la fin de mon fichier config.php (connexion BDD) !

    au lieu de Ouf !

    Merci quand même pour ton aide !

  12. #12
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Quand je parlais de trim
    soit tu fais un trim de result
    c'était coté js ...
    manifestement il était évident que c'est ton code php qui te retournait des espaces indésirable a un endroit ou à un autre ...
    Tu as fini par localiser l'endroit dans un autre fichier.

    Un façon un peu "sale" mais efficace en dernier recours aurait été de laisser php retourner les espaces indésirables et les supprimer en js.

    Mais ta persévérance t'a permis de localiser les espaces rajoutés par php.

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

Discussions similaires

  1. afficher une variable dans un getElementById
    Par wwwbillgates dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/11/2011, 20h09
  2. variable dans un .getElementById
    Par nagstef dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/05/2011, 17h16
  3. passer une variable dans GetElementById()
    Par jur466 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/01/2009, 16h40
  4. Variable dans getElementById
    Par phpmikedu83 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 14/11/2005, 19h04

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