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 :

Variable Php ne passe pas en Javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 277
    Par défaut Variable Php ne passe pas en Javascript
    Bonjour,

    Ma Variable Php ne passe pas en Javascript uniquement avec IE7

    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
    17
    18
    <script language="javascript">    
    function checkPostFields(form) {    
        var msg = '';    
        var value_missing = false;
        if (
               form.elements['adtitle'].value == ''
                || form.elements['addesc'].value == ''
                || form.elements['email'].value == ''
                <?php if ($image_verification) { ?>
                || form.elements['captcha'].value == ''
                <?php } ?>
                ) {
            msg += '<?php echo $lang['ERROR_POST_FILL_ALL']; ?>\n';        
            value_missing = true;        
        }    
        if (!form.elements['agree'].checked) {
            msg += '<?php echo $lang['ERROR_POST_AGREE_TERMS']; ?>\n';
        }
    Comment faire passer la valeur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $lang['ERROR_POST_FILL_ALL'];
    $lang['ERROR_POST_AGREE_TERMS'];
    Merci d'avance

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    regarde plutot du coté du code html généré ...
    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 !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 277
    Par défaut
    Il n'y pas de code html derrière ces valeurs, c'est juste un texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $lang['ERROR_POST_FILL_ALL']; (=vérifier les champs)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $lang['ERROR_POST_AGREE_TERMS']; (= valider les cg)
    Le message d'erreur avec IE7 est:



  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    si tu n'as pas de html ... c'est que tu n'as pas de page

    Affiche ta page dans le navigateur, puis regarde le code source (afficher code source de la page) ...
    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
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 140
    Par défaut
    Salut Ceweb.

    Tu sembles avoir un problème de concatenation.

    remplaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $lang['ERROR_POST_FILL_ALL'];
    $lang['ERROR_POST_AGREE_TERMS'];
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $lang["ERROR_POST_FILL_ALL"];
    $lang["ERROR_POST_AGREE_TERMS"];
    je mets juste des quotes qui n interferent pas avec celles de ton js autour...

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    Cela ne devrait pas interférer car les simples quotes sont entre balises php ...

    Mais il suffirait de voir le code html généré pour comprendre ...
    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 !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 277
    Par défaut
    Tu sembles avoir un problème de concatenation.
    Oui je suis d'accord c'est ça le problème Mais les doubles quotes ne changent rien.

    J'ai trouvé l'erreur en regardant le code ci dessous

    Le résultat du javascript dans la page html est

    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
    17
    18
    19
    20
    21
    22
    23
    <script language="javascript">    
    function checkPostFields(form) {    
        var msg = '';    
        var value_missing = false;
     
        if (
               form.elements['adtitle'].value == ''
                || form.elements['addesc'].value == ''
                || form.elements['email'].value == ''
                            || form.elements['captcha'].value == ''
                            ) {
            msg += 'Complétez les champs marqués d'un *\n';        
            value_missing = true;        
        }    
        if (!form.elements['agree'].checked) {
            msg += 'Vous devez accepter les conditions d'utilisation\n';
        }
        if (msg != '') {
            alert(msg);
            return false;
        }
    }
    </script>
    Ma valeur PHP est interprétée comme du Javascript et s’arrête sur l'apostrophe '
    Si je supprime les apostrophe dans mes valeurs Php tout fonctionne


  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    y' rien qui te choque là ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     msg += 'Complétez les champs marqués d'un *\n';
    ????
    tu as une apostrophe qui vient couper la chaine ...

    soit tu changes les quotes comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     msg += "<?php echo $lang['ERROR_POST_FILL_ALL']; ?>\n";
    soit tu échappes las apostrophes
    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é
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 277
    Par défaut
    humhum avec un anti slash (dans ma valeur PHP) devant l'apostrophe c'est mieux et ça marche...

    Mais maintenant ma valeur affiche un anti slash lorsque je l'utilise ailleurs pour d'autres codes !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $lang['ERROR_POST_FILL_ALL']; ?>
    Comment faire comprendre à Javascript que mon apostrophe vient d'une valeur Php ?

    Merci

  10. #10
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    pourquoi ne pas mettre les doubles quotes autour de la chaine js ... ça simplifierait la tache...
    sinon la tu dois éhapper l'apostrophe pour js mais du coup aussi pour php ...
    il te faut le doubler une fois pour php une fois pour js

    ou utiliser addslashes sur le backslash simple
    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 !

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 277
    Par défaut
    oups nos messages se sont croisés.

    effectivement le remplacement du simple quote par un double solutionne tout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     msg += "Complétez les champs marqués d'un *\n";
    Merci beaucoup

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

Discussions similaires

  1. variable php parametre d'une fonction javascript
    Par Lutin1801 dans le forum Langage
    Réponses: 6
    Dernier message: 14/05/2012, 16h13
  2. Variable qui ne passe pas du html au js
    Par zoreol dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/11/2010, 17h27
  3. [MySQL] Apostrophe dans variable php OK mais pas dans <INPUT>
    Par Zarvox dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/09/2009, 11h55
  4. [Système] variable qui ne passe pas !!!
    Par azorol dans le forum Langage
    Réponses: 21
    Dernier message: 20/02/2006, 10h53
  5. [Tableaux] variable qui ne passe pas
    Par oceane751 dans le forum Langage
    Réponses: 5
    Dernier message: 31/12/2005, 02h56

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