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;
}
A voir également:

6 réponses

jordane45 Messages postés 40050 Statut Modérateur 4 754
 
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
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
yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 
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
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
jordane45 Messages postés 40050 Statut Modérateur 4 754
 
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
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
jordane45 Messages postés 40050 Statut Modérateur 4 754
 
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
charles5353 Messages postés 28 Statut Membre > jordane45 Messages postés 40050 Statut Modérateur
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
charles5353 Messages postés 28 Statut Membre
 
plus personne pour m'aider a y vois plus clair ?
0
jordane45 Messages postés 40050 Statut Modérateur 4 754
 
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
charles5353 Messages postés 28 Statut Membre
 
Merciiiiiiiiiiiiii
cela fonctionne parfaitement bien

je continue a tester avant de clôturer
0