Example
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":
<form action="demo_form.asp" method="get">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<button type="submit">Submit</button>
<button type="submit" formmethod="post"
formaction="demo_post.asp">Submit using
POST</button>
</form>
Try it Yourself »
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
Browser Support
The numbers in the table specify the first browser version that fully supports the attribute.
Attribute | |||||
---|---|---|---|---|---|
formmethod | 9.0 | 10.0 | 4.0 | 5.1 | 10.6 |
Differences Between HTML 4.01 and HTML5
The formmethod attribute is new in HTML5.
Syntax
<button type="submit" formmethod="get|post">
Attribute Values
Value | Description |
---|---|
get | Appends the form-data to the URL: URL?name=value&name=value |
post | Sends the form-data as an HTTP post transaction |