Posted over 1 year ago. Visible to the public. Repeats.

HTML forms with multiple submit buttons

Most forms have a single submit button that will save the record when pressed.

Sometimes a form needs additional submit buttons like "accept" or "reject". Such buttons usually attempt a state transition while updating the record.

To process a form with multiple buttons, your server-side code will need to know which button was pressed. To do so you can give each submit button a different [formaction] attribute. This will override the form's [action] attribute and hence cause the browser to POST the form to another URL.


Below is an example of a form for a "story". It has three submit buttons.

<form action="/storys/5"> <!-- form fields here --> <button type="submit">Save changes</button> <button type="submit" formaction="/deals/5/accept">Accept story</button> <button type="submit" formaction="/deals/5/reject">Reject story</button> </form>

This [formaction] attribute is supported in all browsers and IE11.

Once an application no longer requires constant development, it needs periodic maintenance for stable and secure operation. makandra offers monthly maintenance contracts that let you focus on your business while we make sure the lights stay on.

Owner of this card:

Henning Koch
Last edit:
over 1 year ago
by Henning Koch
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Henning Koch to makandra dev
This website uses cookies to improve usability and analyze traffic.
Accept or learn more