7
votes

Formulaire avec deux boutons Soumettre avec une valeur différente

<form action="here.php" method="POST">
<input type="text" name="text">

<div id="one">
   <input type="hidden" name="aaa" value="one">
   <input type="submit" value="Send">
</div>

<div id="two">
   <input type="hidden" name="aaa" value="two">
   <input type="submit" value="Send">
</div>

</form>
Now if i click on Send of div ONE or div TWO i have always in $_POST['aaa'] = 'two';Is possible make one form with two submit with different values?If i click on div one submit i would like reveice $_POST['aaa'] = 'one' and if i click on div two submit i would like receive $_POST['aaa'] = 'two'.How can i make it? I can use for this PHP and jQuery.EDIT:
I dont want create two form - i dont want showing two many times <input type="text" name="text">EDIT: maybe i can instead button submit ? but how?

0 commentaires

4 Réponses :


4
votes

Vous auriez besoin de deux formes différentes:

if (isset($_POST['submit_two'])) {
    $data = $_POST['two_data'];
} else if (isset($_POST['submit_one'])) {
    $data = $_POST['one_data'];
} else {
    die("Invalid submission");
}


4 commentaires

C'est bon, mais je ne veux pas montrer deux fois sur ma page


Vous pouvez toujours utiliser certains JavaScript pour copier la valeur d'un champ d'entrée dans un autre champ masqué dans les deux formulaires lorsqu'il est soumis. Mais comme votre formulaire est structuré en ce moment, il n'y a aucun moyen de cela. Il y a d'autres astuces que vous pouvez utiliser, comme donner à chaque champ des noms uniques et utiliser ce fait pour détecter quel bouton Soumettre a cliqué, puis n'accédez que la valeur appropriée.


Merci d'édition (+1), mais si ce bouton Soumettre est par exemple 20? Je dois vérifier cela séparément?


Vous voulez dire 20 boutons de soumettre différents? Ouch, oui, vous devrez vérifier chacun.



3
votes

Au lieu de montrer deux boutons Soumettre, vous pouvez afficher une liste de radio avec deux options et un bouton d'envoi.


0 commentaires

14
votes

Il semble que ce que vous voulez réellement faire, c'est avoir une valeur dans chacun des boutons, voir Ceci , par exemple: xxx


1 commentaires

Il est généralement recommandé que la réponse soit incluse ici, au lieu d'un lien, au cas où le lien ne fonctionne plus (comme pour moi en ce moment).



3
votes

Essayez ceci:

dans HTML - P>

        $("#PreviousButton").click(function () {
            $("#Button").val("Previous");
        });

        $("#NextButton").click(function () {
            $("#Button").val("Next");
        });


0 commentaires