{{APIRef("HTML DOM")}}
The HTMLButtonElement
interface provides properties and methods (beyond the {{HTMLElement("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, {{domxref("HTMLElement")}}.
- {{domxref("HTMLButtonElement.accessKey")}}
- Is a {{domxref("DOMString")}} indicating the single-character keyboard key to give access to the button.
- {{domxref("HTMLButtonElement.autofocus")}}
- Is a {{domxref("Boolean")}} 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.
- {{domxref("HTMLButtonElement.disabled")}}
- Is a {{domxref("Boolean")}} indicating whether or not the control is disabled, meaning that it does not accept any clicks.
- {{domxref("HTMLButtonElement.form")}} {{readonlyInline}}
- Is a {{domxref("HTMLFormElement")}} reflecting 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 thenull
value if none matches. - {{domxref("HTMLButtonElement.formAction")}}
- Is a {{domxref("DOMString")}} reflecting the URI of a resource that processes information submitted by the button. If specified, this attribute overrides the {{htmlattrxref("action", "form")}} attribute of the {{HTMLElement("form")}} element that owns this element.
- {{domxref("HTMLButtonElement.formEncType")}}
- Is a {{domxref("DOMString")}} reflecting the type of content that is used to submit the form to the server. If specified, this attribute overrides the {{htmlattrxref("enctype", "form")}} attribute of the {{HTMLElement("form")}} element that owns this element.
- {{domxref("HTMLButtonElement.formMethod")}}
- Is a {{domxref("DOMString")}} reflecting the HTTP method that the browser uses to submit the form. If specified, this attribute overrides the {{htmlattrxref("method", "form")}} attribute of the {{HTMLElement("form")}} element that owns this element.
- {{domxref("HTMLButtonElement.formNoValidate")}}
- Is a {{domxref("Boolean")}} indicating that the form is not to be validated when it is submitted. If specified, this attribute overrides the {{htmlattrxref("novalidate", "form")}} attribute of the {{HTMLElement("form")}} element that owns this element.
- {{domxref("HTMLButtonElement.formTarget")}}
- Is a {{domxref("DOMString")}} reflecting a name or keyword indicating where to display the response that is received after submitting the form. If specified, this attribute overrides the {{htmlattrxref("target", "form")}} attribute of the {{HTMLElement("form")}} element that owns this element.
- {{domxref("HTMLButtonElement.labels")}} {{readonlyInline}}
- Is a {{domxref("NodeList")}} that represents a list of {{HTMLElement("label")}} elements that are labels for this button.
- {{domxref("HTMLButtonElement.menu")}} {{experimental_inline}}
- Is a {{domxref("HTMLMenuElement")}} representing the menu element to be displayed if the button is clicked and is of
type="menu"
. - {{domxref("HTMLButtonElement.name")}}
- Is a {{domxref("DOMString")}} representing the name of the object when submitted with a form. {{HTMLVersionInline(5)}} If specified, it must not be the empty string.
- {{domxref("HTMLButtonElement.tabIndex")}}
- Is a
long
that represents this element's position in the tabbing order. - {{domxref("HTMLButtonElement.type")}}
- Is a {{domxref("DOMString")}} 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, {{HTMLVersionInline(5)}} 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_inline}}
- {{domxref("HTMLButtonElement.validationMessage")}} {{readonlyInline}}
- Is a {{domxref("DOMString")}} 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
isfalse
), or it satisfies its constraints. - {{domxref("HTMLButtonElement.validity")}} {{readonlyInline}}
- Is a {{domxref("ValidityState")}} representing the validity states that this button is in.
- {{domxref("HTMLButtonElement.value")}}
- Is a {{domxref("DOMString")}} representing the current form control value of the button.
- {{domxref("HTMLButtonElement.willValidate")}}
- Is a {{domxref("Boolean")}} indicating whether the button is a candidate for constraint validation. It is
false
if any conditions bar it from constraint validation.
Methods
Inherits methods from its parent, {{domxref("HTMLElement")}}.
Name | Return Type | Description |
---|---|---|
checkValidity() |
{{domxref("Boolean")}} | Not supported for button elements. |
setCustomValidity(in DOMString error) |
void |
Not supported for button elements. |
WIth Gecko-based browser, use the {{cssxref(":-moz-submit-invalid")}} pseudo-class to style submit buttons based on the validation of a form.
Specifications
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG', "text-level-semantics.html#the-a-element", "HTMLAnchorElement")}} | {{Spec2('HTML WHATWG')}} | The following attribute has been added: menu .The type attribute can take one more value, "menu" . |
{{SpecName('HTML5 W3C', "text-level-semantics.html#the-a-element", "HTMLAnchorElement")}} | {{Spec2('HTML5 W3C')}} | The attributes tabindex and accesskey , are now defined on {{domxref("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. |
{{SpecName('DOM2 HTML', 'html.html#ID-ID-48250443', 'HTMLAnchorElement')}} | {{Spec2('DOM2 HTML')}} | No change from {{SpecName("DOM1")}}. |
{{SpecName('DOM1', 'level-one-html.html#ID-48250443', 'HTMLAnchorElement')}} | {{Spec2('DOM1')}} | Initial definition. |
Browser compatibility
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatGeckoDesktop(1.0)}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Form-related attributes | {{CompatVersionUnknown}} | {{CompatGeckoDesktop(2.0)}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
labels |
{{CompatVersionUnknown}} | {{CompatNo}}[1] | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
menu & type="menu" {{experimental_inline}} |
{{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatGeckoMobile(1.0)}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Form-related attributes | {{CompatVersionUnknown}} | {{CompatGeckoDesktop(2.0)}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
labels |
{{CompatVersionUnknown}} | {{CompatNo}}[1] | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
menu & type="menu" {{experimental_inline}} |
{{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
[1] This feature is not implemented yet. See {{bug("556743")}}.
See also
- HTML element implementing this interface: {{HTMLElement("button")}}