# class ButtonElement

#### package js.html

#### extends Element › DOMElement › Node › EventTarget

Available on HTML5

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.

Documentation HTMLButtonElement by Mozilla Contributors, licensed under CC-BY-SA 2.5.

See:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement

### Variables

###

`autofocus:Bool`

Is a `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.

###

`disabled:Bool`

Is a `Boolean` indicating whether or not the control is disabled, meaning that it does not accept any clicks.

###

`read onlyform:FormElement`

Is a `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 the `null` value if none matches.

###

`formAction:String`

Is a `DOMString` 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.

###

`formEnctype:String`

###

`formMethod:String`

Is a `DOMString` 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.

###

`formNoValidate:Bool`

Is a `Boolean` 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.

###

`formTarget:String`

Is a `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 `target` attribute of the `form` element that owns this element.

###

`name:String`

Is a `DOMString` representing the name of the object when submitted with a form. {{HTMLVersionInline(5)}} If specified, it must not be the empty string.

###

`type:String`

Is a `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)

###

`read onlyvalidationMessage:String`

Is a `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` is `false`), or it satisfies its constraints.

###

`read onlyvalidity:ValidityState`

Is a `ValidityState` representing the validity states that this button is in.

###

`value:String`

Is a `DOMString` representing the current form control value of the button.

###

`read onlywillValidate:Bool`

Is a `Boolean` indicating whether the button is a candidate for constraint validation. It is `false` if any conditions bar it from constraint validation.

### Methods

###

`checkValidity ():Bool`

###

`setCustomValidity (error:String):Void`

### Inherited Variables

#### Defined by DOMElement

###

`accessKey:String`

###

`read onlyaccessKeyLabel:String`

###

`read onlyattributes:NamedNodeMap`

###

`read onlychildElementCount:Int`

###

`read onlychildren:HTMLCollection`

###

`read onlyclassList:DOMTokenList`

###

`className:String`

###

`read onlyclientHeight:Int`

###

`read onlyclientLeft:Int`

###

`read onlyclientTop:Int`

###

`read onlyclientWidth:Int`

###

`contentEditable:String`

###

`read onlycontextMenu:MenuElement`

###

`read onlydataset:DOMStringMap`

###

`dir:String`

###

`draggable:Bool`

###

`read onlyfirstElementChild:Element`

###

`hidden:Bool`

###

`id:String`

###

`innerHTML:String`

###

`innerText:String`

###

`read onlyisContentEditable:Bool`

###

`itemId:String`

###

`read onlyitemProp:DOMTokenList`

###

`read onlyitemRef:DOMTokenList`

###

`itemScope:Bool`

###

`read onlyitemType:DOMTokenList`

###

`itemValue:Dynamic`

###

`lang:String`

###

`read onlylastElementChild:Element`

###

`read onlynextElementSibling:Element`

###

`read onlyoffsetHeight:Int`

###

`read onlyoffsetLeft:Int`

###

`read onlyoffsetParent:Element`

###

`read onlyoffsetTop:Int`

###

`read onlyoffsetWidth:Int`

###

`onabort:Function`

###

`onblur:Function`

###

`oncanplay:Function`

###

`oncanplaythrough:Function`

###

`onchange:Function`

###

`onclick:Function`

###

`oncontextmenu:Function`

###

`oncopy:Function`

###

`oncut:Function`

###

`ondblclick:Function`

###

`ondrag:Function`

###

`ondragend:Function`

###

`ondragenter:Function`

###

`ondragleave:Function`

###

`ondragover:Function`

###

`ondragstart:Function`

###

`ondrop:Function`

###

`ondurationchange:Function`

###

`onemptied:Function`

###

`onended:Function`

###

`onerror:Function`

###

`onfocus:Function`

###

`onfullscreenchange:Function`

###

`onfullscreenerror:Function`

###

`ongotpointercapture:Function`

###

`oninput:Function`

###

`oninvalid:Function`

###

`onkeydown:Function`

###

`onkeypress:Function`

###

`onkeyup:Function`

###

`onload:Function`

###

`onloadeddata:Function`

###

`onloadedmetadata:Function`

###

`onloadstart:Function`

###

`onlostpointercapture:Function`

###

`onmousedown:Function`

###

`onmouseenter:Function`

###

`onmouseleave:Function`

###

`onmousemove:Function`

###

`onmouseout:Function`

###

`onmouseover:Function`

###

`onmouseup:Function`

###

`onpaste:Function`

###

`onpause:Function`

###

`onplay:Function`

###

`onplaying:Function`

###

`onpointercancel:Function`

###

`onpointerdown:Function`

###

`onpointerenter:Function`

###

`onpointerleave:Function`

###

`onpointerlockchange:Function`

###

`onpointerlockerror:Function`

###

`onpointermove:Function`

###

`onpointerout:Function`

###

`onpointerover:Function`

###

`onpointerup:Function`

###

`onprogress:Function`

###

`onratechange:Function`

###

`onreset:Function`

###

`onresize:Function`

###

`onscroll:Function`

###

`onseeked:Function`

###

`onseeking:Function`

###

`onselect:Function`

###

`onshow:Function`

###

`onstalled:Function`

###

`onsubmit:Function`

###

`onsuspend:Function`

###

`ontimeupdate:Function`

###

`ontouchcancel:Function`

###

`ontouchend:Function`

###

`ontouchmove:Function`

###

`ontouchstart:Function`

###

`onvolumechange:Function`

###

`onwaiting:Function`

###

`onwheel:Function`

###

`outerHTML:String`

###

`read onlypreviousElementSibling:Element`

###

`read onlyproperties:HTMLPropertiesCollection`

###

`read onlyscrollHeight:Int`

###

`scrollLeft:Int`

###

`read onlyscrollLeftMax:Int`

###

`scrollTop:Int`

###

`read onlyscrollTopMax:Int`

###

`read onlyscrollWidth:Int`

###

`read onlyshadowRoot:ShadowRoot`

###

`spellcheck:Bool`

###

`read onlystyle:CSSStyleDeclaration`

###

`tabIndex:Int`

###

`read onlytagName:String`

###

`title:String`

#### Defined by Node

###

`read onlybaseURI:String`

Returns a `DOMString` representing the base URL. The concept of base URL changes from one language to another; in HTML, it corresponds to the protocol, the domain name and the directory structure, that is all until the last `'/'`.

###

`read onlychildNodes:NodeList`

Returns a live `NodeList` containing all the children of this node. `NodeList` being live means that if the children of the `Node` change, the `NodeList` object is automatically updated.

###

`read onlyfirstChild:Node`

Returns a `Node` representing the first direct child node of the node, or `null` if the node has no child.

###

`read onlylastChild:Node`

Returns a `Node` representing the last direct child node of the node, or `null` if the node has no child.

###

`read onlylocalName:String`

Returns a `DOMString` representing the local part of the qualified name of an element.

Note: In Firefox 3.5 and earlier, the property upper-cases the local name for HTML elements (but not XHTML elements). In later versions, this does not happen, so the property is in lower case for both HTML and XHTML. `1.9.2`

###

`read onlynamespaceURI:String`

The namespace URI of this node, or `null` if it is no namespace.

Note: In Firefox 3.5 and earlier, HTML elements are in no namespace. In later versions, HTML elements are in the `https://www.w3.org/1999/xhtml/` namespace in both HTML and XML trees. `1.9.2`

###

`read onlynextSibling:Node`

Returns a `Node` representing the next node in the tree, or `null` if there isn't such node.

###

`read onlynodeName:String`

Returns a `DOMString` containing the name of the `Node`. The structure of the name will differ with the name type. E.g. An `HTMLElement` will contain the name of the corresponding tag, like `'audio'` for an `HTMLAudioElement`, a `Text` node will have the `'#text'` string, or a `Document` node will have the `'#document'` string.

###

`read onlynodeType:Int`

Returns an `unsigned short` representing the type of the node. Possible values are:

Name Value
`ELEMENT_NODE` | `1`
`ATTRIBUTE_NODE` (deprecated) | `2`
`TEXT_NODE` | `3`
`CDATA_SECTION_NODE` (deprecated) | `4`
`ENTITY_REFERENCE_NODE` (deprecated) | `5`
`ENTITY_NODE` (deprecated) | `6`
`PROCESSING_INSTRUCTION_NODE` | `7`
`COMMENT_NODE` | `8`
`DOCUMENT_NODE` | `9`
`DOCUMENT_TYPE_NODE` | `10`
`DOCUMENT_FRAGMENT_NODE` | `11`
`NOTATION_NODE` (deprecated) | `12`

###

`nodeValue:String`

Returns / Sets the value of the current node

###

`read onlyownerDocument:HTMLDocument`

Returns the `Document` that this node belongs to. If no document is associated with it, returns `null`.

###

`read onlyparentElement:Element`

Returns an `Element` that is the parent of this node. If the node has no parent, or if that parent is not an `Element`, this property returns `null`.

###

`read onlyparentNode:Node`

Returns a `Node` that is the parent of this node. If there is no such node, like if this node is the top of the tree or if doesn't participate in a tree, this property returns `null`.

###

`read onlyprefix:String`

Is a `DOMString` representing the namespace prefix of the node, or `null` if no prefix is specified.

###

`read onlypreviousSibling:Node`

Returns a `Node` representing the previous node in the tree, or `null` if there isn't such node.

###

`textContent:String`

Returns / Sets the textual content of an element and all its descendants.

### Inherited Methods

#### Defined by DOMElement

###

`animate (frames:Dynamic, ?options:EitherType<Float, Dynamic>):Animation`

Throws:

`null` | DOMError

###

`blur ():Void`

Throws:

`null` | DOMError

###

`click ():Void`

###

`closest (selector:String):Element`

Throws:

`null` | DOMError

###

`convertPointFromNode (point:DOMPointInit, from:EitherType<Text, EitherType<Element, HTMLDocument>>, ?options:ConvertCoordinateOptions):DOMPoint`

Throws:

`null` | DOMError

###

`convertQuadFromNode (quad:DOMQuad, from:EitherType<Text, EitherType<Element, HTMLDocument>>, ?options:ConvertCoordinateOptions):DOMQuad`

Throws:

`null` | DOMError

###

`convertRectFromNode (rect:DOMRectReadOnly, from:EitherType<Text, EitherType<Element, HTMLDocument>>, ?options:ConvertCoordinateOptions):DOMQuad`

Throws:

`null` | DOMError

###

`createShadowRoot ():ShadowRoot`

Throws:

`null` | DOMError

###

`focus ():Void`

Throws:

`null` | DOMError

###

`getAnimations ():Array<Animation>`

Returns an array of Animation objects currently active on the element.

###

`getAttribute (name:String):String`

###

`getAttributeNS (namespace_:String, localName:String):String`

###

`getAttributeNames ():Array<String>`

###

`getAttributeNode (name:String):Attr`

###

`getAttributeNodeNS (namespaceURI:String, localName:String):Attr`

###

`getBoundingClientRect ():DOMRect`

###

`getClientRects ():DOMRectList`

###

`getDestinationInsertionPoints ():NodeList`

…

###

`getElementsByClassName (classNames:String):HTMLCollection`

###

`getElementsByTagName (localName:String):HTMLCollection`

###

`getElementsByTagNameNS (namespace_:String, localName:String):HTMLCollection`

Throws:

`null` | DOMError

###

`hasAttribute (name:String):Bool`

###

`hasAttributeNS (namespace_:String, localName:String):Bool`

###

`hasAttributes ():Bool`

###

`insertAdjacentHTML (position:String, text:String):Void`

Throws:

`null` | DOMError

###

`matches (selector:String):Bool`

Throws:

`null` | DOMError

###

`querySelector (selectors:String):Element`

Throws:

`null` | DOMError

###

`querySelectorAll (selectors:String):NodeList`

Throws:

`null` | DOMError

###

`releaseCapture ():Void`

###

`releasePointerCapture (pointerId:Int):Void`

Throws:

`null` | DOMError

###

`remove ():Void`

###

`removeAttribute (name:String):Void`

Throws:

`null` | DOMError

###

`removeAttributeNS (namespace_:String, localName:String):Void`

Throws:

`null` | DOMError

###

`removeAttributeNode (oldAttr:Attr):Attr`

Throws:

`null` | DOMError

###

`requestFullscreen (?options:Dynamic):Void`

Throws:

`null` | DOMError

###

`requestPointerLock ():Void`

###

`scroll (?options:ScrollToOptions):Void`

`scroll (x:Float, y:Float):Void`

###

`scrollBy (?options:ScrollToOptions):Void`

`scrollBy (x:Float, y:Float):Void`

###

`scrollIntoView (?options:ScrollIntoViewOptions):Void`

`scrollIntoView (top:Bool):Void`

###

`scrollTo (?options:ScrollToOptions):Void`

`scrollTo (x:Float, y:Float):Void`

###

`setAttribute (name:String, value:String):Void`

Throws:

`null` | DOMError

###

`setAttributeNS (namespace_:String, name:String, value:String):Void`

Throws:

`null` | DOMError

###

`setAttributeNode (newAttr:Attr):Attr`

Throws:

`null` | DOMError

###

`setAttributeNodeNS (newAttr:Attr):Attr`

Throws:

`null` | DOMError

###

`setCapture (retargetToElement:Bool = false):Void`

###

`setPointerCapture (pointerId:Int):Void`

Throws:

`null` | DOMError

###

`webkitMatchesSelector (selector:String):Bool`

Throws:

`null` | DOMError

#### Defined by Node

###

`appendChild (node:Node):Node`

Throws:

`null` | DOMError

###

`cloneNode (deep:Bool = false):Node`

Throws:

`null` | DOMError

###

`compareDocumentPosition (other:Node):Int`

Returns the context objects root which optionally includes the shadow root if it is available.

###

`contains (other:Node):Bool`

Returns the context objects root which optionally includes the shadow root if it is available.

###

`hasChildNodes ():Bool`

Returns a `Boolean` indicating if the element has any child nodes, or not.

###

`insertBefore (node:Node, child:Node):Node`

Throws:

`null` | DOMError

###

`isDefaultNamespace (namespace_:String):Bool`

Returns a `Boolean` which indicates whether or not two nodes are of the same type and all their defining data points match.

###

`isEqualNode (node:Node):Bool`

Returns a `Boolean` which indicates whether or not two nodes are of the same type and all their defining data points match.

###

`lookupNamespaceURI (prefix:String):String`

Clean up all the text nodes under this element (merge adjacent, remove empty).

###

`lookupPrefix (namespace_:String):String`

Clean up all the text nodes under this element (merge adjacent, remove empty).

###

`normalize ():Void`

Clean up all the text nodes under this element (merge adjacent, remove empty).

###

`removeChild (child:Node):Node`

Throws:

`null` | DOMError

###

`replaceChild (node:Node, child:Node):Node`

Throws:

`null` | DOMError

#### Defined by EventTarget

###

`addEventListener (type:String, listener:Function, capture:Bool = false):Void`

`addEventListener (type:String, listener:EventListener, capture:Bool = false, ?wantsUntrusted:Bool):Void`

Throws:

`null` | DOMError

###

`dispatchEvent (event:Event):Bool`

Throws:

`null` | DOMError

###

`removeEventListener (type:String, listener:Function, capture:Bool = false):Void`

`removeEventListener (type:String, listener:EventListener, capture:Bool = false):Void`

Throws:

`null` | DOMError