Latest web development tutorials
 

HTML <button> formmethod Attribute

< HTML <button> tag

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

< HTML <button> tag