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 dans javascript


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut Variable php dans javascript
    Bonjour,

    Je ne parviens pas à afficher la valeur d'une variable php à partir de mon script en javascript.
    En fait j'affiche un bouton dynamiquement de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var HTMLButton = "";
    HTMLButton="<a id=\"downloadbut\" href=\"http://downloads.monsite.com/?to=<? print $os['tag']; ?>\" ><span><strong>Download</strong><em> for OS <? print $os['name']; ?> 32bits<br />  </em></span></a>";
     
    var DivARemplacer=document.getElementById('downloadButtonId');
    DivARemplacer.innerHTML=HTMLButton;
    Le problème c'est que la variable <? print $os['tag']; ?> n'est pas écrite dans mon code html. Or cette variable est bien définie. Je suppose que ça vient du innerHTML ?

    Quelqu'un peut m'aider?

  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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Ce n'est pas un souci javascript

    utilise plutot les ' pour les strings php
    et echo au lieu de print

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HTMLButton='<a id="downloadbut" href="http://downloads.monsite.com?to=<?php echo $os['tag']; ?>" ><span><strong>Download</strong><em> for OS <?php echo $os['name']; ?> 32bits<br />  </em></span></a>';
    le code javascript quittera le serveur avec la valeurs de variables php au moment de leur envoi.
    Il n'y aura ensuite plus de communication entre php et js
    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 régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut
    Merci SpaceFrog pour ta réponse,

    J'ai essayé ta modif. Seulement la variable n'est toujours pas printée dans mon lien. Si je copie le lien de mon bouton après qu'il aie été afficher dynamiquement, j'ai ceci

    downloads.monsite.com?to=

    Est-ce que ça peut venir des ' dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $os['tag']; ?>
    et du fait que ma chaine commence par des ' ?

  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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    non ça vient du fait que ta variable n'existe pas coté php
    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 régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut
    Voici plus de détails,

    Dans ma page principale, je suis certain que ma variable existe car je l'emploie à un autre endroit en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <? print $os['tag']; ?>
    et cela fonctionne, ma variable est bien affichée.

    En fait le bouton que j'affiche dynamiquement est à l'intérieur d'un popup que j'affiche comme ceci:

    javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function popUpSurvey()
    {
        var formCode="..";
        Dialog.alert(formCode, {width:600, height:500, okLabel: "Cancel", windowParameters: {className: "winkl"}}); 
    }
    Code html du bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <span id="downloadbut" style="Cursor: pointer;" onClick = "javascript: popUpSurvey();">Download</span>
    Est-ce que le problème vient du fait que je ne peux plus accéder à cette variable à l'intérieur du popup?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Points : 330
    Points
    330
    Par défaut
    Citation Envoyé par pasqual Voir le message
    Code html du bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <span id="downloadbut" style="Cursor: pointer;" onClick = "javascript: popUpSurvey();">Download</span>
    Pourquoi ceci ne correspond pas à celà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HTMLButton="<a id=\"downloadbut\" href=\"http://downloads.monsite.com/?to=<? print $os['tag']; ?>\" ><span><strong>Download</strong><em> for OS <? print $os['name']; ?> 32bits<br />  </em></span></a>";
    Ce que je vois, c'est qu'il n'y a rien qui passe au bon endroit...
    C'est plus un problème php que JS là...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut
    Je comprend que c'est pas très clair, je vais essayer d'y remédier :-)

    Je réexplique;

    J'ai sur ma page principale, un bout download qui m'ouvre un pop up lorqu'on clique dessus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <span id="downloadbut" style="Cursor: pointer;" onClick = "javascript: popUpSurvey();" ><span>Download</span></span>
    Dans ce popup, il y a un formulaire. Lorsque ce formulaire est rempli correctement, j'affiche dynamiquement le vrai bouton download qui va permettre le téléchargement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function popUpSurvey()
    {
        var formCode="";
        formCode	+= '<form method="post" onsubmit="">';
        formCode	+= '...';
        Dialog.alert(formCode, {width:600, height:500, okLabel: "Cancel", windowParameters: {className: "winkl"}}); 
    }
    Lors de chaque action dans mon formulaire, (clic sur un radio bouton, changement dans un textarea,..) j'appelle une méthode checkSurvey(). Si le formulaire est correctement rempli, j'afficher dynamiquement un nouveau bouton download a la fin de mon questionnaire.

    Je veux dire dans mon formulaire (qui est dans mon popup) j'ai à un endroit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="hiddenDownloadButton">
    que je remplace à l'aide d'un innerHTML si le check du questionnaire est correct.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var HTMLButton = "";
    var DivARemplacer=document.getElementById('hiddenDownloadButton');
    if(QuestionnaireOK)
    {
         HTMLButton='<a id="downloadbut" href="http://downloads.monsite.com?to=<?php echo $os['tag']; ?>" ><span><strong>Download</strong><em> for OS <?php echo $os['name']; ?> 32bits<br />  </em></span></a>';
       DivARemplacer.innerHTML=HTMLButton;
     
    }
    Tout marche bien sauf que<?php echo $os['tag']; ?> ne m'affiche pas ma valeur...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Points : 330
    Points
    330
    Par défaut
    Citation Envoyé par pasqual Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var HTMLButton = "";
    var DivARemplacer=document.getElementById('hiddenDownloadButton');
    if(QuestionnaireOK)
    {
         HTMLButton='<a id="downloadbut" href="http://downloads.monsite.com?to=<?php echo $os['tag']; ?>" ><span><strong>Download</strong><em> for OS <?php echo $os['name']; ?> 32bits<br />  </em></span></a>';
       DivARemplacer.innerHTML=HTMLButton;
     
    }
    Tout marche bien sauf que<?php echo $os['tag']; ?> ne m'affiche pas ma valeur...
    Ben pas mieux que SpaceFrog...

    Ca donne quoi côté html ?

Discussions similaires

  1. affichage dynamique de variable php dans javascript
    Par Revan dans le forum Langage
    Réponses: 6
    Dernier message: 11/05/2008, 13h25
  2. variable php dans javascript
    Par thilde dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/01/2008, 10h32
  3. [PHP-JS] [Débutant]Variables php dans javascript
    Par Nibor dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 17/07/2007, 20h58
  4. [PHP-JS] Variables PHP dans JavaScript
    Par m3n2o dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/01/2007, 13h09
  5. [PHP-JS] Soucis variable php dans javascript.
    Par cisse18 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/07/2006, 10h47

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