HTML <button> formmethod Attribute
A form with two submit buttons. The first submit button submits the form data with method="get", and the second submits the form data with method="post":
<label for="fname">First name:</label>
<input type="text" id="fname" name="fname"><br><br>
<label for="lname">Last name:</label>
<input type="text" id="lname" name="lname"><br><br>
<button type="submit" formmethod="post">Submit using POST</button>
Definition and Usage
The formmethod attribute specifies which HTTP method to use when sending the form-data. This attribute overrides the form's method attribute.
The formmethod attribute is only used for buttons with type="submit".
The form-data can be sent as URL variables (with method="get") or as HTTP post (with method="post").
Notes on the "get" method:
- it appends the form-data to the URL in name/value pairs
- it is useful for form submissions where a user want to bookmark the result
- There is a limit to how much data you can place in a URL (varies between browsers), therefore, you cannot be sure that all of the form-data will be correctly transferred
- Never use the "get" method to pass sensitive information! (password or other sensitive information will be visible in the browser's address bar)
Notes on the "post" method:
- it sends the form-data as an HTTP post transaction
- Form submissions with the "post" method cannot be bookmarked
- it is more robust and secure than "get"
- it does not have size limitations
The numbers in the table specify the first browser version that fully supports the attribute.
Differences Between HTML 4.01 and HTML5
The formmethod attribute is new in HTML5.
|get||Appends the form-data to the URL: URL?name=value&name=value|
|post||Sends the form-data as an HTTP post transaction|
❮ HTML <button> tag