2013-05-21 11 views
53

Jestem zakładanie formularz, w którym muszę dwa „działania” (dwa przyciski):HTML z wielu „działania”

1 - „Prześlij ten formularz zgody”
2 - „Save tej aplikacji na później "

Jak utworzyć formularz HTML obsługujący wiele" działań "?

EG:

<form class="form-horizontal" action="submit_for_approval.php">
<form class="form-horizontal" action="save_for_later.php">

muszę połączyć te dwie opcje-for-złożenie w jednej formie.

Zrobiłem kilka podstawowych badań, ale nie mogłem znaleźć ostatecznej odpowiedzi, czy jest to możliwe, i/lub dobrych zasobów do linków do obejścia.

Z góry dziękuję.

+0

Nie facet php, ale w .NET mogę po prostu opublikować jedną akcję formularza i po prostu dowiedzieć się, który przycisk został kliknięty, patrząc na dane formularza. Zakładam, że możesz zrobić to samo w php. Alternatywnie wystarczy użyć javascript, aby zmienić cel przesyłania. – AliK

Odpowiedz

61

Jak wspomniała firma @AliK, można to łatwo zrobić, patrząc na wartość przycisków wysyłania.

Po przesłaniu formularza niezamierzone zmienne ocenią wartość false. Jeśli ustawisz oba przyciski przesyłania jako część tego samego formularza, możesz po prostu sprawdzić i zobaczyć, który przycisk został ustawiony.

HTML:

 
<form action="handle_user.php" method="POST" /> 
    <input type="submit" value="Save" name="save" /> 
    <input type="submit" value="Submit for Approval" name="approve" /> 
</form> 

PHP

 
if($_POST["save"]) { 
    //User hit the save button, handle accordingly 
} 
//You can do an else, but I prefer a separate statement 
if($_POST["approve"]) { 
    //User hit the Submit for Approval button, handle accordingly 
} 

EDIT


Jeśli nie chcesz zmienić konfigurację PHP, spróbuj tego: http://pastebin.com/j0GUF7MV
Jest JavaSc Metoda ript @AliK odwoływała się do.

pokrewne:

+0

Hej, już się budzę, a twoja odpowiedź JavaScript + AliK wydaje mi się idealna, dziękuję !! –

14

najlepszym sposobem (dla mnie), aby go to kolejna infrastruktura:

<form method="POST"> 
<input type="submit" formaction="default_url_when_press_enter" style="visibility: hidden; display: none;"> 
<!-- all your inputs --> 
<input><input><input> 
<!-- all your inputs --> 
<button formaction="action1">Action1</button> 
<button formaction="action2">Action2</button> 
<input type="submit" value="Default Action"> 
</form> 

z tej struktury pan będzie wyślij z podaniem kierunku i nieskończonych możliwości fo r pozostałe przyciski.

Powiązane problemy