Comment passer une variable php vers une page en javascript

Résolu
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. Modérateur
    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. bonjour

      Merci
      Mais mon formulaire est sur une page php et j'ai besoin de la variable sur une autre page en javascript
  2. Contributeur
    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. 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
  3. Modérateur
    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>
    
    

    1. 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
      1. Modérateur
        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;
        }
        
      2. @jordane45bonjour
        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>
    2. plus personne pour m'aider a y vois plus clair ?
      1. Modérateur
        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.
    3. Merciiiiiiiiiiiiii
      cela fonctionne parfaitement bien

      je continue a tester avant de clôturer