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.
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 20%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 120" preserveAspectRatio="xMinYMin meet"><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/EventTarget" target="_top"><rect x="1" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">EventTarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#D4DDE4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/Node" target="_top"><rect x="151" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="188.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Node</text></a><polyline points="226,25 236,20 236,30 226,25" stroke="#D4DDE4" fill="none"/><line x1="236" y1="25" x2="266" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/Element" target="_top"><rect x="266" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="303.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Element</text></a><polyline points="341,25 351,20 351,30 341,25" stroke="#D4DDE4" fill="none"/><line x1="351" y1="25" x2="381" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement" target="_top"><rect x="381" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="436" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLElement</text></a><polyline points="491,25 501,20 501,30 491,25" stroke="#D4DDE4" fill="none"/><line x1="501" y1="25" x2="509" y2="25" stroke="#D4DDE4"/><line x1="509" y1="25" x2="509" y2="90" stroke="#D4DDE4"/><line x1="509" y1="90" x2="492" y2="90" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement" target="_top"><rect x="321" y="65" width="170" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="406" y="94" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLButtonElement</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
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.willValidateRead only- 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 | 56 (56)[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) | No support | 56.0 (56)[1] | ? | ? | ? |
menu & type="menu" |
No support | No support | No support | No support | No support | No support |
[1] Implemented in bug 556743.
See also
- HTML element implementing this interface:
<button>
Document Tags and Contributors
Tags:
Contributors to this page:
Sebastianz,
danmork,
trusktr,
arronei,
danielnixon,
erikadoyle,
jmsfwk,
slimsag,
linmx0130,
fscholz,
MHasan,
teoli,
kscarfone,
Sheppy,
ethertank,
timemachine3030,
volkmar,
jswisher
Last updated by:
Sebastianz,