Tutorials References Exercises Bootcamps Videos Menu
Sign Up Create Website Get Certified Upgrade

HTML <button> formmethod Attribute

❮ HTML <button> tag


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="/action_page.php" method="get">
  <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">Submit</button>
  <button type="submit" formmethod="post">Submit using POST</button>
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.

formmethod 9.0 10.0 4.0 5.1 15.0


<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