This article needs a technical review. How you can help.
Our volunteers haven't translated this article into فارسی yet. Join us and help get the job done!
You can also read the article in English (US).
The HTMLButtonElement interface provides properties and methods (beyond the <button> object interface it also has available to them by inheritance) for manipulating the layout and presentation of button elements.
Properties
Inherits properties from its parent, HTMLElement.
HTMLButtonElement.accessKey- Is a
DOMStringindicating the single-character keyboard key to give access to the button. HTMLButtonElement.autofocus- Is a
Booleanindicating 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. HTMLButtonElement.disabled- Is a
Booleanindicating whether or not the control is disabled, meaning that it does not accept any clicks. HTMLButtonElement.formRead only- Is a
HTMLFormElementreflecting the form that this button is associated with. If the button is a descendant of a form element, then this attribute is the ID of that form element.
If the button is not a descendant of a form element, then the attribute can be the ID of any form element in the same document it is related to, or thenullvalue if none matches. HTMLButtonElement.formAction- Is a
DOMStringreflecting the URI of a resource that processes information submitted by the button. If specified, this attribute overrides theactionattribute of the<form>element that owns this element. HTMLButtonElement.formEncType- Is a
DOMStringreflecting the type of content that is used to submit the form to the server. If specified, this attribute overrides theenctypeattribute of the<form>element that owns this element. HTMLButtonElement.formMethod- Is a
DOMStringreflecting the HTTP method that the browser uses to submit the form. If specified, this attribute overrides themethodattribute of the<form>element that owns this element. HTMLButtonElement.formNoValidate- Is a
Booleanindicating that the form is not to be validated when it is submitted. If specified, this attribute overrides thenovalidateattribute of the<form>element that owns this element. HTMLButtonElement.formTarget- Is a
DOMStringreflecting a name or keyword indicating where to display the response that is received after submitting the form. If specified, this attribute overrides thetargetattribute of the<form>element that owns this element. HTMLButtonElement.labelsRead only- Is a
NodeListthat represents a list of<label>elements that are labels for this button. HTMLButtonElement.menu- Is a
HTMLMenuElementrepresenting the menu element to be displayed if the button is clicked and is oftype="menu". HTMLButtonElement.name- Is a
DOMStringrepresenting the name of the object when submitted with a form. HTML5 If specified, it must not be the empty string. HTMLButtonElement.tabIndex- Is a
longthat represents this element's position in the tabbing order. HTMLButtonElement.type- Is a
DOMStringindicating 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, HTML5 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.
HTMLButtonElement.validationMessageRead only- Is a
DOMStringrepresenting 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 (willValidateisfalse), or it satisfies its constraints. HTMLButtonElement.validityRead only- Is a
ValidityStaterepresenting the validity states that this button is in. HTMLButtonElement.value- Is a
DOMStringrepresenting the current form control value of the button. HTMLButtonElement.willValidate- Is a
Booleanindicating whether the button is a candidate for constraint validation. It isfalseif any conditions bar it from constraint validation.
Methods
Inherits methods from its parent, HTMLElement.
| Name | Return Type | Description |
|---|---|---|
checkValidity() |
Boolean |
Not supported for button elements. |
setCustomValidity(in DOMString error) |
void |
Not supported for button elements. |
WIth Gecko-based browser, use the :-moz-submit-invalid pseudo-class to style submit buttons based on the validation of a form.
Specifications
| Specification | Status | Comment |
|---|---|---|
| WHATWG HTML Living Standard The definition of 'HTMLButtonElement' in that specification. |
Living Standard | The following attribute has been added: menu.The type attribute can take one more value, "menu". |
| HTML5 The definition of 'HTMLButtonElement' in that specification. |
Recommendation | The attributes tabindex and accesskey, are now defined on HTMLElement.The following attributes have been added: autofocus, formAction, formEncType, formMethod, formNoValidate, formTarget, labels, validity, validationMessage, and willValidate.The following methods have been added: checkValidity(), setCustomValidity().The type attribute is no more read-only. |
| Document Object Model (DOM) Level 2 HTML Specification The definition of 'HTMLButtonElement' in that specification. |
Recommendation | No change from Document Object Model (DOM) Level 1 Specification. |
| Document Object Model (DOM) Level 1 Specification The definition of 'HTMLButtonElement' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 1.0 (1.7 or earlier) | (Yes) | (Yes) | (Yes) |
| Form-related attributes | (Yes) | (Yes) | 4.0 (2.0) | (Yes) | (Yes) | (Yes) |
labels |
(Yes) | ? | No support[1] | ? | ? | ? |
menu & type="menu" |
No support | No support | No support | No support | No support | No support |
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
| Form-related attributes | (Yes) | (Yes) | 4.0 (2.0) | (Yes) | (Yes) | (Yes) |
labels |
(Yes) | (Yes) | No support[1] | ? | ? | ? |
menu & type="menu" |
No support | No support | No support | No support | No support | No support |
[1] This feature is not implemented yet. See bug 556743.
See also
- HTML element implementing this interface:
<button>
Document Tags and Contributors
Tags:
Contributors to this page:
erikadoyle,
jmsfwk,
slimsag,
Sebastianz,
linmx0130,
fscholz,
MHasan,
teoli,
kscarfone,
Sheppy,
ethertank,
timemachine3030,
volkmar,
jswisher
Last updated by:
erikadoyle,

