The HTMLButtonElement interface provides properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <button> elements.

EventTarget Node Element HTMLElement HTMLButtonElement

Instance properties

Inherits properties from its parent, HTMLElement.


A string indicating the single-character keyboard key to give access to the button.


A boolean value indicating whether or not the control should have input focus when the page loads, unless the user overrides it, for example by typing in a different control. Only one form-associated element in a document can have this attribute specified.


A boolean value indicating whether or not the control is disabled, meaning that it does not accept any clicks.

HTMLButtonElement.form Read only

An HTMLFormElement reflecting the form that this button is associated with. If the button is a descendant of a form element, then this attribute is a reference to that form's associated HTMLFormElement. If the button is not a descendant of a form element, then the attribute can be a reference to any HTMLFormElement element in the same document it is related to, or the null value if none matches.


A string reflecting the URI of a resource that processes information submitted by the button. If specified, this attribute overrides the action attribute of the <form> element that owns this element.


A string reflecting the type of content that is used to submit the form to the server. If specified, this attribute overrides the enctype attribute of the <form> element that owns this element.


A string reflecting the HTTP method that the browser uses to submit the form. If specified, this attribute overrides the method attribute of the <form> element that owns this element.


A boolean value indicating that the form is not to be validated when it is submitted. If specified, this attribute overrides the novalidate attribute of the <form> element that owns this element.


A string reflecting a name or keyword indicating where to display the response that is received after submitting the form. If specified, this attribute overrides the target attribute of the <form> element that owns this element.

HTMLButtonElement.labels Read only

A NodeList that represents a list of <label> elements that are labels for this button. Experimental

A HTMLMenuElement representing the menu element to be displayed if the button is clicked and is of type="menu".

A string representing the name of the object when submitted with a form. If specified, it must not be the empty string.


Gets and sets the action to be performed ("hide", "show", or "toggle") on a popover element being controlled by a control button. It reflects the value of the popovertargetaction HTML attribute.


Gets and sets the popover element to control via a button. The JavaScript equivalent of the popovertarget HTML attribute.


A long that represents this element's position in the tabbing order.


A string indicating the behavior of the button. This is an enumerated attribute with the following possible values:

  • submit: The button submits the form. This is the default value if the attribute is not specified, or if it is dynamically changed to an empty or invalid value.
  • reset: The button resets the form.
  • button: The button does nothing.
  • menu: The button displays a menu. Experimental
HTMLButtonElement.willValidate Read only

A boolean value indicating whether the button is a candidate for constraint validation. It is false if any conditions bar it from constraint validation, including: its type property is reset or button; it has a <datalist> ancestor; or the disabled property is set to true.

HTMLButtonElement.validationMessage Read only

A string representing the localized message that describes the validation constraints that the control does not satisfy (if any). This attribute is the empty string if the control is not a candidate for constraint validation (willValidate is false), or it satisfies its constraints.

HTMLButtonElement.validity Read only

A ValidityState representing the validity states that this button is in.


A string representing the current form control value of the button.

Instance methods

Inherits methods from its parent, HTMLElement.


HTML Standard
# htmlbuttonelement

Browser compatibility

BCD tables only load in the browser

See also

  • HTML element implementing this interface: <button>