# Interface HTMLButtonElement

All Superinterfaces:
  `Element, HTMLElement, Node`

public interface HTMLButtonElement extends HTMLElement
Push button. See the BUTTON element definition in HTML 4.0.

See also the Document Object Model (DOM) Level 2 Specification.

Since:
  1.4, DOM Level 2

- ## Field Summary

  ### Fields declared in interface Node

  `ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`
  Modifier and Type
  Field
  Description
  `static final short`
  `ATTRIBUTE_NODE`
  The node is an `Attr`.
  `static final short`
  `CDATA_SECTION_NODE`
  The node is a `CDATASection`.
  `static final short`
  `COMMENT_NODE`
  The node is a `Comment`.
  `static final short`
  `DOCUMENT_FRAGMENT_NODE`
  The node is a `DocumentFragment`.
  `static final short`
  `DOCUMENT_NODE`
  The node is a `Document`.
  `static final short`
  `DOCUMENT_POSITION_CONTAINED_BY`
  The node is contained by the reference node.
  `static final short`
  `DOCUMENT_POSITION_CONTAINS`
  The node contains the reference node.
  `static final short`
  `DOCUMENT_POSITION_DISCONNECTED`
  The two nodes are disconnected.
  `static final short`
  `DOCUMENT_POSITION_FOLLOWING`
  The node follows the reference node.
  `static final short`
  `DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC`
  The determination of preceding versus following is implementation-specific.
  `static final short`
  `DOCUMENT_POSITION_PRECEDING`
  The second node precedes the reference node.
  `static final short`
  `DOCUMENT_TYPE_NODE`
  The node is a `DocumentType`.
  `static final short`
  `ELEMENT_NODE`
  The node is an `Element`.
  `static final short`
  `ENTITY_NODE`
  The node is an `Entity`.
  `static final short`
  `ENTITY_REFERENCE_NODE`
  The node is an `EntityReference`.
  `static final short`
  `NOTATION_NODE`
  The node is a `Notation`.
  `static final short`
  `PROCESSING_INSTRUCTION_NODE`
  The node is a `ProcessingInstruction`.
  `static final short`
  `TEXT_NODE`
  The node is a `Text` node.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getAccessKey()`
  A single character access key to give access to the form control.
  `boolean`
  `getDisabled()`
  The control is unavailable in this context.
  `HTMLFormElement`
  `getForm()`
  Returns the `FORM` element containing this control.
  `String`
  `getName()`
  Form control or object name when submitted with a form.
  `int`
  `getTabIndex()`
  Index that represents the element's position in the tabbing order.
  `String`
  `getType()`
  The type of button.
  `String`
  `getValue()`
  The current form control value.
  `void`
  `setAccessKey(String accessKey)`
  `void`
  `setDisabled(boolean disabled)`
  `void`
  `setName(String name)`
  `void`
  `setTabIndex(int tabIndex)`
  `void`
  `setValue(String value)`

  ### Methods declared in interface Element

  `getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS`
  Modifier and Type
  Method
  Description
  `String`
  `getAttribute(String name)`
  Retrieves an attribute value by name.
  `Attr`
  `getAttributeNode(String name)`
  Retrieves an attribute node by name.
  `Attr`
  `getAttributeNodeNS(String namespaceURI, String localName)`
  Retrieves an `Attr` node by local name and namespace URI.
  `String`
  `getAttributeNS(String namespaceURI, String localName)`
  Retrieves an attribute value by local name and namespace URI.
  `NodeList`
  `getElementsByTagName(String name)`
  Returns a `NodeList` of all descendant `Elements` with a given tag name, in document order.
  `NodeList`
  `getElementsByTagNameNS(String namespaceURI, String localName)`
  Returns a `NodeList` of all the descendant `Elements` with a given local name and namespace URI in document order.
  `TypeInfo`
  `getSchemaTypeInfo()`
  The type information associated with this element.
  `String`
  `getTagName()`
  The name of the element.
  `boolean`
  `hasAttribute(String name)`
  Returns `true` when an attribute with a given name is specified on this element or has a default value, `false` otherwise.
  `boolean`
  `hasAttributeNS(String namespaceURI, String localName)`
  Returns `true` when an attribute with a given local name and namespace URI is specified on this element or has a default value, `false` otherwise.
  `void`
  `removeAttribute(String name)`
  Removes an attribute by name.
  `Attr`
  `removeAttributeNode(Attr oldAttr)`
  Removes the specified attribute node.
  `void`
  `removeAttributeNS(String namespaceURI, String localName)`
  Removes an attribute by local name and namespace URI.
  `void`
  `setAttribute(String name, String value)`
  Adds a new attribute.
  `Attr`
  `setAttributeNode(Attr newAttr)`
  Adds a new attribute node.
  `Attr`
  `setAttributeNodeNS(Attr newAttr)`
  Adds a new attribute.
  `void`
  `setAttributeNS(String namespaceURI, String qualifiedName, String value)`
  Adds a new attribute.
  `void`
  `setIdAttribute(String name, boolean isId)`
  If the parameter `isId` is `true`, this method declares the specified attribute to be a user-determined ID attribute .
  `void`
  `setIdAttributeNode(Attr idAttr, boolean isId)`
  If the parameter `isId` is `true`, this method declares the specified attribute to be a user-determined ID attribute .
  `void`
  `setIdAttributeNS(String namespaceURI, String localName, boolean isId)`
  If the parameter `isId` is `true`, this method declares the specified attribute to be a user-determined ID attribute .

  ### Methods declared in interface HTMLElement

  `getClassName, getDir, getId, getLang, getTitle, setClassName, setDir, setId, setLang, setTitle`
  Modifier and Type
  Method
  Description
  `String`
  `getClassName()`
  The class attribute of the element.
  `String`
  `getDir()`
  Specifies the base direction of directionally neutral text and the directionality of tables.
  `String`
  `getId()`
  The element's identifier.
  `String`
  `getLang()`
  Language code defined in RFC 1766.
  `String`
  `getTitle()`
  The element's advisory title.
  `void`
  `setClassName(String className)`
  `void`
  `setDir(String dir)`
  `void`
  `setId(String id)`
  `void`
  `setLang(String lang)`
  `void`
  `setTitle(String title)`

  ### Methods declared in interface Node

  `appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData`
  Modifier and Type
  Method
  Description
  `Node`
  `appendChild(Node newChild)`
  Adds the node `newChild` to the end of the list of children of this node.
  `Node`
  `cloneNode(boolean deep)`
  Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes.
  `short`
  `compareDocumentPosition(Node other)`
  Compares the reference node, i.e. the node on which this method is being called, with a node, i.e. the one passed as a parameter, with regard to their position in the document and according to the document order.
  `NamedNodeMap`
  `getAttributes()`
  A `NamedNodeMap` containing the attributes of this node (if it is an `Element`) or `null` otherwise.
  `String`
  `getBaseURI()`
  The absolute base URI of this node or `null` if the implementation wasn't able to obtain an absolute URI.
  `NodeList`
  `getChildNodes()`
  A `NodeList` that contains all children of this node.
  `Object`
  `getFeature(String feature, String version)`
  This method returns a specialized object which implements the specialized APIs of the specified feature and version, as specified in .
  `Node`
  `getFirstChild()`
  The first child of this node.
  `Node`
  `getLastChild()`
  The last child of this node.
  `String`
  `getLocalName()`
  Returns the local part of the qualified name of this node.
  `String`
  `getNamespaceURI()`
  The namespace URI of this node, or `null` if it is unspecified (see ).
  `Node`
  `getNextSibling()`
  The node immediately following this node.
  `String`
  `getNodeName()`
  The name of this node, depending on its type; see the table above.
  `short`
  `getNodeType()`
  A code representing the type of the underlying object, as defined above.
  `String`
  `getNodeValue()`
  The value of this node, depending on its type; see the table above.
  `Document`
  `getOwnerDocument()`
  The `Document` object associated with this node.
  `Node`
  `getParentNode()`
  The parent of this node.
  `String`
  `getPrefix()`
  The namespace prefix of this node, or `null` if it is unspecified.
  `Node`
  `getPreviousSibling()`
  The node immediately preceding this node.
  `String`
  `getTextContent()`
  This attribute returns the text content of this node and its descendants.
  `Object`
  `getUserData(String key)`
  Retrieves the object associated to a key on a this node.
  `boolean`
  `hasAttributes()`
  Returns whether this node (if it is an element) has any attributes.
  `boolean`
  `hasChildNodes()`
  Returns whether this node has any children.
  `Node`
  `insertBefore(Node newChild, Node refChild)`
  Inserts the node `newChild` before the existing child node `refChild`.
  `boolean`
  `isDefaultNamespace(String namespaceURI)`
  This method checks if the specified `namespaceURI` is the default namespace or not.
  `boolean`
  `isEqualNode(Node arg)`
  Tests whether two nodes are equal.
  `boolean`
  `isSameNode(Node other)`
  Returns whether this node is the same node as the given one.
  `boolean`
  `isSupported(String feature, String version)`
  Tests whether the DOM implementation implements a specific feature and that feature is supported by this node, as specified in .
  `String`
  `lookupNamespaceURI(String prefix)`
  Look up the namespace URI associated to the given prefix, starting from this node.
  `String`
  `lookupPrefix(String namespaceURI)`
  Look up the prefix associated to the given namespace URI, starting from this node.
  `void`
  `normalize()`
  Puts all `Text` nodes in the full depth of the sub-tree underneath this `Node`, including attribute nodes, into a "normal" form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separates `Text` nodes, i.e., there are neither adjacent `Text` nodes nor empty `Text` nodes.
  `Node`
  `removeChild(Node oldChild)`
  Removes the child node indicated by `oldChild` from the list of children, and returns it.
  `Node`
  `replaceChild(Node newChild, Node oldChild)`
  Replaces the child node `oldChild` with `newChild` in the list of children, and returns the `oldChild` node.
  `void`
  `setNodeValue(String nodeValue)`
  The value of this node, depending on its type; see the table above.
  `void`
  `setPrefix(String prefix)`
  The namespace prefix of this node, or `null` if it is unspecified.
  `void`
  `setTextContent(String textContent)`
  This attribute returns the text content of this node and its descendants.
  `Object`
  `setUserData(String key, Object data, UserDataHandler handler)`
  Associate an object to a key on this node.

- ## Method Details

  - ### getForm

    HTMLFormElement getForm()
    Returns the `FORM` element containing this control. Returns `null` if this control is not within the context of a form.

  - ### getAccessKey

    String getAccessKey()
    A single character access key to give access to the form control. See the accesskey attribute definition in HTML 4.0.

  - ### setAccessKey

    void setAccessKey(String accessKey)

  - ### getDisabled

    boolean getDisabled()
    The control is unavailable in this context. See the disabled attribute definition in HTML 4.0.

  - ### setDisabled

    void setDisabled(boolean disabled)

  - ### getName

    String getName()
    Form control or object name when submitted with a form. See the name attribute definition in HTML 4.0.

  - ### setName

    void setName(String name)

  - ### getTabIndex

    int getTabIndex()
    Index that represents the element's position in the tabbing order. See the tabindex attribute definition in HTML 4.0.

  - ### setTabIndex

    void setTabIndex(int tabIndex)

  - ### getType

    String getType()
    The type of button. See the type attribute definition in HTML 4.0.

  - ### getValue

    String getValue()
    The current form control value. See the value attribute definition in HTML 4.0.

  - ### setValue

    void setValue(String value)