Rrécupérer une valeur d'un select en PHP dans la même page avant submit

Fermé
zack77 Messages postés 25 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 6 décembre 2020 - 29 nov. 2020 à 18:00
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 29 nov. 2020 à 23:44
Bonjour, j'ai créé un formulaire en php avec " select option" j'aimerais récupérer la valeur sélectionnée du formulaire et la placer dans la valeur name='montant"
<input name="montant" value="?">

j'aimerais également placé la valeur sélectionnée dans l'URL

"client.php?amount=10 " par "client.php?amount=la valeur sélectionnée"


J'ai trouvé des informations sur $.ajax() / JQUERY mais je ne sais pas comment procéder. Les forum que j'ai trouvés semblent s'adresser aux expérimentés. Merci d'avance de partager vos savoirs.


Voici mon formulaire:

<form action="/member/transfet.php" method="post" target="_top">
<input type="hidden" name="return" value="<?php echo "http://".$_SERVER['HTTP_HOST'].""?>/member/client.php?amount=10&token2=<?php echo "".$token_paiment.""?>&status=success&id=<?php echo "".$numero1s.""?>">
<input type="hidden" name="montant" value="">
<select name="os0">
<option value="10">10€</option>
<option value="20">20€</option>
</select> 
<input type="button"  value="Valider" name="submit" >
</form>

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
29 nov. 2020 à 19:52
Bonjour,

Tu dois utiliser l'évènement "change" sur ton select pour déclencher du code javascript lorsqu'un utilisateur modifie la valeur de ton select.
https://www.w3schools.com/jsref/event_onchange.asp

Ensuite, plutôt que de cibler ton input montant par son "name", en javascript il est plus facile de travailler sur des ID. je t'invite donc à ajouter un attribut "id" à ton input.
Il sera alors facile de modifier sa "value"
https://www.w3schools.com/jsref/prop_text_value.asp

Pour ce qui est de modifier ( ou ajouter) un paramètre dans l'url, tu peux t'inspirer de la réponse donnée ici :
https://forums.commentcamarche.net/forum/affich-36774173-modifier-url#3

.
0
zack77 Messages postés 25 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 6 décembre 2020
29 nov. 2020 à 23:31
J'ai réussi à trouver comment mettre l'information sélectionné dans <input text >

voici le code que j'ai trouvé mais par contre je n'ai pas pu trouver la méthode pour remplacer
amount=10 par amount=l'élément sélectionné

<!DOCTYPE html>
<html>
<head>
<!-- En-tête de la page -->
<meta charset="utf-8" />
<title>Paypal integration</title>
<head>

<script>
function dd1select()
{
  var d=document.getElementById("ddselect");
  var displaytext=d.options[d.selectedIndex].text;
  document.getElementById("txtvalue").value=displaytext;
 }
</script>
</head>
<body>


<center>
<form method='post' action="transfert.php">
<!--<input type="hidden" id="txtvalue" name='text' >--->
<input type="text" id="txtvalue" name="return" value="<?php echo "http://".$_SERVER['HTTP_HOST'].""?>/member/client.php?amount=10">
<select id="ddselect" onchange="dd1select();">
  <option value="Value1">Select combo</option>
  <option value="10">10€</option>
<option value="20">20€</option>
</select>
<input type="submit" name="envoyer" value="Valider">
</form>


</center>
</body>

</html>


Je vous remercie d'avance de votre aide.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
29 nov. 2020 à 23:44
Pourquoi indiques tu l'url directement dans le champ value de ton champ txtvalue ??

Pourquoi ne pas le faire dans le fichier transfert.php une fois que tu auras fais le "submit" de ton formulaire ?

Et dans le champ txtvalue, il suffit de mettre la VALUE que tu as choisi dans ton SELECT ..
Et d'ailleurs.. pourquoi passer par un champ intermédiaire et ne pas utiliser directement ton SELECT ??

En gros,
<form method='post' action="transfert.php">

<select id="ddselect" name="return">
  <option value="Value1">Select combo</option>
  <option value="10">10€</option>
<option value="20">20€</option>
</select>
<input type="submit" name="envoyer" value="Valider">
</form>

et dans le fichier
<?php
// fichier : transfert.php
$return = !empty($_POST['return']) ? $_POST['return'] : NULL;
$url = "http://" . $_SERVER['HTTP_HOST'] . "/member/client.php?amount=" . $return ;



Enfin bon, si tu tiens à le faire quand même à ta sauce, et donc via javascript, regarde sur internet comment on concatène des variables et du texte ( des string) en Javascript ... il n'y a rien de plus simple.
0