Comment passer une variable php vers une page en javascript

Résolu
charles5353 Messages postés 28 Statut Membre -  
charles5353 Messages postés 28 Statut Membre -
bonsoir

Je cherche depuis plusieurs heures mais je ne trouve aucun exemple

je souhaiterais faire passer une variable php issu d'un formulaire vers une page en javascript

Pour l'instant j'ai trouvé un système mais je dois effectuer 2 clics pour y parvenir

Première opération
je récupère la variable en php que l'utilisateur entre via un formulaire de cette façon

<form name="formulaire" method="post" action="" class="form">
<label>Entre ton nom</label>
<input type="text" name="Nom" placeholder="Nom" value="" class="form-control">
<input type="submit" name="Envoyer" class="btn btn-default" value="Envoyer">
</form>
<!-- je contrôle si la variable a bien été affectée sur la même page -->
<?php
echo $_POST['Nom'];
?>


Ensuite je passe cette variable du php vers la page en javascript

je dois appuyer sur une touche pour envoyer la variable $_POST['Nom']vers la page test-envois.js

<input type="hidden" id="myInput" value="<?php echo $_POST['nomt'] ?>">
<button onclick="myFunction()">confirmer votre nom</button>
<script src="test-envois.js"></script>
//verification que tout ce passe bien 
Mon nom est <p id="demo"></p>


et voila la fonction dans la page javascript

function myFunction(){
  var x = document.getElementById("myInput").value;
  document.getElementById("demo").innerHTML = x;
}

6 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour

    Le script javascript se trouvant visiblement inclus dans la même page que ton formulaire,
    Quel est l'intérêt de passer par du PHP ?
    Pourquoi ne récupères tu pas directement la variable en javascript ?
    1
    1. charles5353 Messages postés 28 Statut Membre
       
      bonjour

      Merci
      Mais mon formulaire est sur une page php et j'ai besoin de la variable sur une autre page en javascript
      0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    tout cela est-il dans la même page?

    si le texte vient du formulaire, pourquoi passer par le php, pourquoi le javascript ne le récupère-t-il pas du formulaire?

    n'expliquerais-tu pas ce que tu veux réellement réaliser?
    1
    1. charles5353 Messages postés 28 Statut Membre
       
      bonjour
      non deux pages différentes

      je souhaite juste récupérer une valeur qu'une personne va entrer dans un formulaire sur une autre page en javascript
      0
  3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Dans ton autre page, avant l'include de ton fichier JS, tu places une balise script comme ceci
    <script>
    var  mavariable = "<?php echo $_POST['nomt'] ?>";
    </script>
    
    

    0
  4. charles5353 Messages postés 28 Statut Membre
     
    Merci pour la solution
    Mais je pense que je me suis mal expliqué

    voici ma première page actuellement test.php

    <form name="formulaire" method="post" action="" class="form">
    <label>Entre ton nom</label>
    <input type="text" name="Nom" placeholder="Nom" value="" class="form-control">
    <input type="submit" name="Envoyer" class="btn btn-default" value="Envoyer">
    </form>
    <!-- je contrôle si la variable a bien été affectée  -->
    <?php
    echo $_POST['Nom'];
    ?>
    <!-- Ensuite je passe cette variable du php vers la page en -->
    
    <!--je dois appuyer sur une touche pour envoyer la variable $_POST['Nom']vers la page test-envois.js-->
    
    <input type="hidden" id="myInput" value="<?php echo $_POST['Nom'];?>">
    
    <button onclick="myFunction()">confirmer le nom</button>
    <!-- je contrôle si la variable a bien été affectée sur la page   test-envois.js-->
    <p id="demo"></p>
    
     <script src="test-envois.js"></script>
    
    


    et mon fichier test-envois.js ou je veux récupérer la variable

    function myFunction(){
      var x = document.getElementById("myInput").value;
      document.getElementById("demo").innerHTML = x;
    }


    c'est du méga bricolage je sais pour juste envoyer une variable d'une page php vers une page en javascript
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      test-envois.js n'est pas une "page" .. mais un fichier javascript que tu INCLUS dans ta page php.....

      Donc.. ma réponse est la bonne...


      Si tu veux "submit" ton formulaire et avoir la variable en PHP .. alors, pour pouvoir l'utiliser dans ton fichier test-envois.js tu dois faire :
      
      <script>
      var  mavariable = "<?php echo $_POST['nomt'] ?>";
      </script>
       <script src="test-envois.js"></script>
      


      Et dans le fichier test-envois.js, tu peux utiliser la variable
      function myFunction(){
        document.getElementById("demo").innerHTML = mavariable ;
      }
      


      Mais... vu que tu restes dans la même page... on en revient à ma première réponse...
      Pas besoin de "submit" le formulaire.... et tu peux récupérer la variable directement en js ..
      <form class="form">
      <label>Entre ton nom</label>
      <input type="text" id="nom" name="Nom" placeholder="Nom" value="" class="form-control">
      <input type="button" name="Envoyer" class="btn btn-default" value="Envoyer" onclick="myFunction();">
      </form>
      
      

      et dans ton js tu garde ta fonction
      function myFunction(){
        var x = document.getElementById("nom").value;
        document.getElementById("demo").innerHTML = x;
      }
      
      1
      1. charles5353 Messages postés 28 Statut Membre > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        bonjour
        Merci pour la réponse

        mais je pense faire quelque chose de mal car la solution appliquée de cette manière ne fonctionne pas
        rien n'est retourné avec id demo


        <form class="form">
        <label>Entre ton nom</label>
        <input type="text" id="nom" name="Nom" placeholder="Nom" value="" class="form-control">
        <input type="button" name="Envoyer" class="btn btn-default" value="Envoyer" onclick="myFunction();">
        </form>
        
        
         <p id="demo"></p>
        
         <script src="test-envois.js"></script>
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. charles5353 Messages postés 28 Statut Membre
     
    plus personne pour m'aider a y vois plus clair ?
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Vide bien le cache de ton navigateur
      Puis ouvre la console JavaScript (du navigateur)
      Cliques sur le bouton et regarde si il y a des erreurs.
      1
  7. charles5353 Messages postés 28 Statut Membre
     
    Merciiiiiiiiiiiiii
    cela fonctionne parfaitement bien

    je continue a tester avant de clôturer
    0