Konstruując formularz HTML zawsze mamy do dyspozycji niezliczoną pulę....pól, list, ptaszków, guzików, nawet przycisków. Co jednak z tego, że dodamy kilka przycisków skoro i tak każdy z nich kieruje formularz po zatwierdzeniu na ten sam adres. Adres oczywiście w atrybucie action formularza.
Można kombinować z ustawianiem wartości dla pól hidden podczas klikania w przycisk submit. Można co gorsza próbować ustawiać inny parametr action formularza przed zatwierdzeniem.
I po co Ci to?!
Jest sobie atrybut dla pól INPUT o typie submit oraz image (ten drugi to zapomniany), a także dla BUTTON o typie submit. Zatwierdzenie formularza przyciskim z tym atrybutem nadpisuje atrybut action formularza.
Przykład:
<form action="akcja1.php" method="POST">
<input type="text" name="imie"/>
<input type="submit" value="Zapisz"/>
<input type="submit" value="Zapisz i wróć" formaction="akcja2.php"/>
</form>
W powyższym przykładzie standardowo zostaniemy przekierowani na adres akcja1.php, natomiast przy użyciu drugiego przycisku na adres akcja2.php. Oczywiście w tym drugim przypadku dane są przekazywane w standardowy sposób - nic nie ginie, wciąż brana jest pod uwagę metoda ustawiona w formularzu.
Mam nadzieję, że ten mało znany atrybut stanie się dla Ciebie bardziej użyteczny, dzięki czemu formularz nie wybuchnie przy próbie rozszczepiania.