Package org.htmlunit.html

# Class HtmlInput

java.lang.Object
org.htmlunit.html.DomNode
org.htmlunit.html.DomNamespaceNode
org.htmlunit.html.DomElement
org.htmlunit.html.HtmlElement
org.htmlunit.html.HtmlInput

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `DisabledElement`, `FormFieldWithNameHistory`, `SubmittableElement`, `ValidatableElement`, `Element`, `Node`

Direct Known Subclasses:
  `HtmlButtonInput`, `HtmlCheckBoxInput`, `HtmlColorInput`, `HtmlDateTimeLocalInput`, `HtmlFileInput`, `HtmlHiddenInput`, `HtmlImageInput`, `HtmlMonthInput`, `HtmlRadioButtonInput`, `HtmlRangeInput`, `HtmlResetInput`, `HtmlSelectableTextInput`, `HtmlSubmitInput`, `HtmlWeekInput`

public abstract class HtmlInput extends HtmlElement implements DisabledElement, SubmittableElement, FormFieldWithNameHistory, ValidatableElement
Wrapper for the HTML element "input".

See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.htmlunit.html.HtmlElement

  `HtmlElement.DisplayStyle`

  ## Nested classes/interfaces inherited from class org.htmlunit.html.DomElement

  `DomElement.ChildElementsIterator`

  ## Nested classes/interfaces inherited from class org.htmlunit.html.DomNode

  `DomNode.ChildIterator, DomNode.DescendantDomElementsIterator, DomNode.DescendantDomNodesIterator, DomNode.DescendantElementsIterator<T extends DomNode>, DomNode.DescendantHtmlElementsIterator`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `TAG_NAME`
  The HTML tag represented by this element.

  ### Fields inherited from class org.htmlunit.html.HtmlElement

  `ATTRIBUTE_CHECKED, ATTRIBUTE_HIDDEN, ATTRIBUTE_REQUIRED, TAB_INDEX_OUT_OF_BOUNDS`

  ### Fields inherited from class org.htmlunit.html.DomElement

  `ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY, ID_ATTRIBUTE, NAME_ATTRIBUTE, SRC_ATTRIBUTE, TYPE_ATTRIBUTE, VALUE_ATTRIBUTE`

  ### Fields inherited from class org.htmlunit.html.DomNode

  `PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED`

  ### Fields inherited from interface org.htmlunit.html.DisabledElement

  `ATTRIBUTE_DISABLED`

  ### Fields inherited from interface org.w3c.dom.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`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HtmlInput(String qualifiedName, SgmlPage page, Map<String,DomAttr> attributes)`
  Creates an instance.
  `HtmlInput(SgmlPage page, Map<String,DomAttr> attributes)`
  Creates an instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `adjustValueAfterTypeChange(HtmlInput oldInput, BrowserVersion browserVersion)`
  `HtmlInput`
  `changeType(String newType, boolean setThroughAttribute)`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  Changes the type of the current HtmlInput.
  `DomNode`
  `cloneNode(boolean deep)`
  `final void`
  `focus()`
  Sets the focus on this element.
  `String`
  `getAccept()`
  Returns the value of the `accept` attribute.
  `final String`
  `getAcceptAttribute()`
  Returns the value of the attribute `accept`.
  `final String`
  `getAccessKeyAttribute()`
  Returns the value of the attribute `accesskey`.
  `final String`
  `getAlignAttribute()`
  Returns the value of the attribute `align`.
  `final String`
  `getAltAttribute()`
  Returns the value of the attribute `alt`.
  `String`
  `getAutocomplete()`
  Returns the value of the `autocomplete` attribute.
  `final String`
  `getCheckedAttribute()`
  Returns the value of the attribute `checked`.
  `HtmlElement.DisplayStyle`
  `getDefaultStyleDisplay()`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  Returns the default display style.
  `String`
  `getDefaultValue()`
  Returns the default value to use when this element gets reset, if applicable.
  `final String`
  `getDisabledAttribute()`
  Returns the value of the attribute `disabled`.
  `protected Object`
  `getInternalValue()`
  `String`
  `getMax()`
  Returns the value of the `max` attribute.
  `protected int`
  `getMaxLength()`
  Gets the max length if defined, Integer.MAX_VALUE if none.
  `final String`
  `getMaxLengthAttribute()`
  Returns the value of the attribute `maxlength`.
  `String`
  `getMin()`
  Returns the value of the `min` attribute.
  `protected int`
  `getMinLength()`
  Gets the min length if defined, Integer.MIN_VALUE if none.
  `final String`
  `getMinLengthAttribute()`
  Returns the value of the attribute `minlength`.
  `final String`
  `getNameAttribute()`
  Returns the value of the attribute `name`.
  `Collection<String>`
  `getNewNames()`
  Get all the names this field got after the original one.
  `final String`
  `getOnBlurAttribute()`
  Returns the value of the attribute `onblur`.
  `final String`
  `getOnChangeAttribute()`
  Returns the value of the attribute `onchange`.
  `final String`
  `getOnFocusAttribute()`
  Returns the value of the attribute `onfocus`.
  `final String`
  `getOnSelectAttribute()`
  Returns the value of the attribute `onselect`.
  `String`
  `getOriginalName()`
  Gets the first value of the `name` attribute of this field before any change.
  `String`
  `getPattern()`
  Returns the value of the `pattern` attribute.
  `String`
  `getPlaceholder()`
  Returns the value of the `placeholder` attribute.
  `String`
  `getRawValue()`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  `final String`
  `getReadOnlyAttribute()`
  Returns the value of the attribute `readonly`.
  `String`
  `getSize()`
  Returns the value of the `size` attribute.
  `final String`
  `getSizeAttribute()`
  Returns the value of the attribute `size`.
  `String`
  `getSrc()`
  Returns the value of the `src` value.
  `String`
  `getSrcAttribute()`
  Returns the value of the attribute `src`.
  `String`
  `getStep()`
  Returns the value of the `step` attribute.
  `NameValuePair[]`
  `getSubmitNameValuePairs()`
  Returns an array of `NameValuePair`s that are the values that will be sent back to the server whenever this element's containing form is submitted.
  `final String`
  `getTabIndexAttribute()`
  Returns the value of the attribute `tabindex`.
  `final String`
  `getType()`
  `final String`
  `getTypeAttribute()`
  Returns the value of the attribute `type`.
  `final String`
  `getUseMapAttribute()`
  Returns the value of the attribute `usemap`.
  `String`
  `getValue()`
  `final String`
  `getValueAttribute()`
  Return the value of the attribute "value".
  `boolean`
  `handles(org.htmlunit.javascript.host.event.Event event)`
  Indicates if the provided event can be applied to this node.
  `boolean`
  `hasPatternMismatchValidityState()`
  `protected boolean`
  `isBlankPatternValidated()`
  `boolean`
  `isCheckable()`
  `boolean`
  `isChecked()`
  Returns `true` if this element is currently selected.
  `boolean`
  `isCustomErrorValidityState()`
  `protected boolean`
  `isCustomValidityValid()`
  `boolean`
  `isDefaultChecked()`
  Returns the default checked state to use when this element gets reset, if applicable.
  `final boolean`
  `isDisabled()`
  Returns `true` if the disabled attribute is set for this element.
  `final boolean`
  `isFormNoValidate()`
  `protected boolean`
  `isMinMaxLengthSupported()`
  Returns if the input element supports maxlength minlength validation.
  `protected boolean`
  `isPatternSupported()`
  Returns if the input element supports pattern validation.
  `boolean`
  `isReadOnly()`
  Returns `true` if this element is read only.
  `protected boolean`
  `isRequiredSupported()`
  Returns whether this element supports the `required` constraint.
  `boolean`
  `isSubmitable()`
  `boolean`
  `isTooShortValidityState()`
  `boolean`
  `isValid()`
  Returns whether this element satisfies all form validation constraints set.
  `boolean`
  `isValidValidityState()`
  `boolean`
  `isValueMissingValidityState()`
  `protected void`
  `markValueDirty()`
  `protected boolean`
  `propagateClickStateUpdateToParent()`
  `final void`
  `removeFocus()`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  Gets notified that it has lost the focus.
  `void`
  `reset()`
  Returns the value of this element to the default value or checked state (usually what it was at the time the page was loaded, unless it has been modified via JavaScript).
  `void`
  `setAccept(String accept)`
  Sets the `accept` attribute.
  `protected void`
  `setAttributeNS(String namespaceURI, String qualifiedName, String attributeValue, boolean notifyAttributeChangeListeners, boolean notifyMutationObservers)`
  Sets the value of the attribute specified by namespace and qualified name.
  `void`
  `setAutocomplete(String autocomplete)`
  Sets the `autocomplete` attribute.
  `Page`
  `setChecked(boolean isChecked)`
  Sets the `checked` attribute, returning the page that occupies this input's window after setting the attribute.
  `void`
  `setCustomValidity(String message)`
  Sets the custom validity message for the element to the specified message.
  `void`
  `setDefaultValue(String defaultValue)`
  Sets the default value to use when this element gets reset, if applicable.
  `final void`
  `setFormNoValidate(boolean noValidate)`
  Sets the value of the attribute `formnovalidate`.
  `void`
  `setMax(String max)`
  Sets the `max` attribute.
  `void`
  `setMaxLength(int maxLength)`
  Sets the `maxLength` attribute.
  `void`
  `setMin(String min)`
  Sets the `min` attribute.
  `void`
  `setMinLength(int minLength)`
  Sets the `minLength` attribute.
  `void`
  `setPattern(String pattern)`
  Sets the `pattern` attribute.
  `void`
  `setPlaceholder(String placeholder)`
  Sets the `placeholder` attribute.
  `void`
  `setRawValue(String rawValue)`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  Update the raw value.
  `void`
  `setReadOnly(boolean isReadOnly)`
  Sets the `readOnly` attribute.
  `void`
  `setSize(String size)`
  Sets the `size` attribute.
  `void`
  `setSrcAttribute(String src)`
  Sets the `src` attribute.
  `void`
  `setStep(String step)`
  Sets the `step` attribute.
  `void`
  `setValue(String newValue)`
  Sets the value.
  `void`
  `setValueAttribute(String newValue)`
  Sets the content of the `value` attribute.
  `protected void`
  `unmarkValueDirty()`
  `protected void`
  `valueAttributeChanged(String attributeValue, boolean isValueDirty)`
  `void`
  `valueModifiedByJavascript()`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  Marks this element as modified (value) by javascript.
  `boolean`
  `willValidate()`

  ### Methods inherited from class org.htmlunit.html.HtmlElement

  `acceptChar, addHtmlAttributeChangeListener, appendChildIfNoneExists, checkChildHierarchy, detach, doType, doType, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, getCanonicalXPath, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getSrcAttributeNormalized, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasEventHandlers, isAltPressed, isAttributeCaseSensitive, isCtrlPressed, isDisplayed, isHidden, isOptional, isRequired, isShiftPressed, isSubmittableByEnter, notifyAttributeChangeListeners, removeAttribute, removeChild, removeHtmlAttributeChangeListener, setAttributeNode, setHidden, setHidden, setOwningForm, setRequired, type, type, type, type, typeDone`

  ### Methods inherited from class org.htmlunit.html.DomElement

  `blur, click, click, click, click, click, dblClick, dblClick, doClickFireChangeEvent, doClickFireClickEvent, doClickStateUpdate, fireEvent, fireEvent, getAttribute, getAttributeDirect, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getChildElementCount, getChildElements, getElementsByTagName, getElementsByTagNameNS, getEventTargetElement, getFirstElementChild, getId, getLastElementChild, getNodeType, getSchemaTypeInfo, getStaticElementsByTagName, getStyleElement, getStyleElementCaseInSensitive, getStyleMap, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isDisabledElementAndDisabled, isEmptyXmlTagExpanded, isMouseOver, isStateUpdateFirst, matches, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, printOpeningTagContentAsXml, printXml, removeAttributeNode, removeAttributeNS, removeStyleAttribute, replaceStyleAttribute, rightClick, rightClick, setAttribute, setAttributeNodeNS, setAttributeNS, setDefaults, setId, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInnerHtml, setNodeValue, toString, writeStyleToElement`

  ### Methods inherited from class org.htmlunit.html.DomNamespaceNode

  `getLocalName, getLowercaseName, getNamespaceURI, getPrefix, getQualifiedName, processImportNode, setPrefix`

  ### Methods inherited from class org.htmlunit.html.DomNode

  `addCharacterDataChangeListener, addDomChangeListener, appendChild, asNormalizedText, asXml, basicRemove, closest, compareDocumentPosition, fireCharacterDataChanged, fireNodeAdded, fireNodeDeleted, getAncestors, getBaseURI, getByXPath, getByXPath, getChildNodes, getChildren, getDescendants, getDomElementDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getHtmlPageOrNull, getIndex, getLastChild, getNextElementSibling, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousElementSibling, getPreviousSibling, getReadyState, getScriptableObject, getSelectorList, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, getVisibleText, hasChildNodes, hasFeature, insertBefore, insertBefore, isAncestorOf, isAncestorOfAny, isAttachedToPage, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, onAddedToDocumentFragment, onAddedToPage, onAllChildrenAddedToPage, parseHtmlSnippet, printChildrenAsXml, querySelector, querySelectorAll, quietlyRemoveAndMoveChildrenTo, remove, removeAllChildren, removeCharacterDataChangeListener, removeChild, removeDomChangeListener, replace, replaceChild, setEndLocation, setParentNode, setReadyState, setScriptableObject, setStartLocation, setTextContent, setUserData`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.w3c.dom.Node

  `appendChild, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setPrefix, setTextContent, setUserData`

  ### Methods inherited from interface org.htmlunit.html.SubmittableElement

  `setDefaultChecked`

  ### Methods inherited from interface org.htmlunit.html.ValidatableElement

  `hasBadInputValidityState, hasRangeOverflowValidityState, hasRangeUnderflowValidityState, hasTypeMismatchValidityState, isStepMismatchValidityState, isTooLongValidityState`

- ## Field Details

  - ### TAG_NAME

    public static final String TAG_NAME
    The HTML tag represented by this element.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### HtmlInput

    public HtmlInput(SgmlPage page, Map<String,DomAttr> attributes)
    Creates an instance.
    Parameters:
      `page` - the page that contains this element
      `attributes` - the initial attributes

  - ### HtmlInput

    public HtmlInput(String qualifiedName, SgmlPage page, Map<String,DomAttr> attributes)
    Creates an instance.
    Parameters:
      `qualifiedName` - the qualified name of the element type to instantiate
      `page` - the page that contains this element
      `attributes` - the initial attributes

- ## Method Details

  - ### setValueAttribute

    public void setValueAttribute(String newValue)
    Sets the content of the `value` attribute.
    Parameters:
      `newValue` - the new value

  - ### getSubmitNameValuePairs

    public NameValuePair[] getSubmitNameValuePairs()

    Returns an array of `NameValuePair`s that are the values that will be sent back to the server whenever this element's containing form is submitted.

    THIS METHOD IS INTENDED FOR THE USE OF THE FRAMEWORK ONLY AND SHOULD NOT BE USED BY CONSUMERS OF HTMLUNIT. USE AT YOUR OWN RISK.

    Specified by:
      `getSubmitNameValuePairs` in interface `SubmittableElement`
    Returns:
      the values that will be sent back to the server whenever this element's containing form is submitted

  - ### getTypeAttribute

    public final String getTypeAttribute()
    Returns the value of the attribute `type`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `type` or an empty string if that attribute isn't defined

  - ### getNameAttribute

    public final String getNameAttribute()
    Returns the value of the attribute `name`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `name` or an empty string if that attribute isn't defined

  - ### getValueAttribute

    public final String getValueAttribute()

    Return the value of the attribute "value". Refer to the HTML 4.01 documentation for details on the use of this attribute.

    Returns:
      the value of the attribute `value` or an empty string if that attribute isn't defined

  - ### getValue

    public String getValue()
    Returns:
      the value

  - ### setValue

    public void setValue(String newValue)
    Sets the value.
    Parameters:
      `newValue` - the new value

  - ### valueAttributeChanged

    protected void valueAttributeChanged(String attributeValue, boolean isValueDirty)

  - ### getCheckedAttribute

    public final String getCheckedAttribute()
    Returns the value of the attribute `checked`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `checked` or an empty string if that attribute isn't defined

  - ### getDisabledAttribute

    public final String getDisabledAttribute()
    Returns the value of the attribute `disabled`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Specified by:
      `getDisabledAttribute` in interface `DisabledElement`
    Returns:
      the value of the attribute `disabled` or an empty string if that attribute isn't defined

  - ### isDisabled

    public final boolean isDisabled()
    Returns `true` if the disabled attribute is set for this element.
    Specified by:
      `isDisabled` in interface `DisabledElement`
    Returns:
      `true` if the disabled attribute is set for this element

  - ### getReadOnlyAttribute

    public final String getReadOnlyAttribute()
    Returns the value of the attribute `readonly`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `readonly` or an empty string if that attribute isn't defined.

  - ### getSizeAttribute

    public final String getSizeAttribute()
    Returns the value of the attribute `size`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `size` or an empty string if that attribute isn't defined.

  - ### getMaxLengthAttribute

    public final String getMaxLengthAttribute()
    Returns the value of the attribute `maxlength`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `maxlength` or an empty string if that attribute isn't defined.

  - ### getMaxLength

    protected int getMaxLength()
    Gets the max length if defined, Integer.MAX_VALUE if none.
    Returns:
      the max length

  - ### getMinLengthAttribute

    public final String getMinLengthAttribute()
    Returns the value of the attribute `minlength`. Refer to the HTML 5 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `minlength` or an empty string if that attribute isn't defined.

  - ### getMinLength

    protected int getMinLength()
    Gets the min length if defined, Integer.MIN_VALUE if none.
    Returns:
      the min length

  - ### getSrcAttribute

    public String getSrcAttribute()
    Returns the value of the attribute `src`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `src` or an empty string if that attribute isn't defined.

  - ### getSrc

    public String getSrc()
    Returns the value of the `src` value.
    Returns:
      the value of the `src` value

  - ### setSrcAttribute

    public void setSrcAttribute(String src)
    Sets the `src` attribute.
    Parameters:
      `src` - the `src` attribute

  - ### getAltAttribute

    public final String getAltAttribute()
    Returns the value of the attribute `alt`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `alt` or an empty string if that attribute isn't defined.

  - ### getUseMapAttribute

    public final String getUseMapAttribute()
    Returns the value of the attribute `usemap`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `usemap` or an empty string if that attribute isn't defined.

  - ### getTabIndexAttribute

    public final String getTabIndexAttribute()
    Returns the value of the attribute `tabindex`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `tabindex` or an empty string if that attribute isn't defined.

  - ### getAccessKeyAttribute

    public final String getAccessKeyAttribute()
    Returns the value of the attribute `accesskey`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `accesskey` or an empty string if that attribute isn't defined.

  - ### getOnFocusAttribute

    public final String getOnFocusAttribute()
    Returns the value of the attribute `onfocus`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `onfocus` or an empty string if that attribute isn't defined.

  - ### getOnBlurAttribute

    public final String getOnBlurAttribute()
    Returns the value of the attribute `onblur`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `onblur` or an empty string if that attribute isn't defined.

  - ### getOnSelectAttribute

    public final String getOnSelectAttribute()
    Returns the value of the attribute `onselect`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `onselect` or an empty string if that attribute isn't defined.

  - ### getOnChangeAttribute

    public final String getOnChangeAttribute()
    Returns the value of the attribute `onchange`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `onchange` or an empty string if that attribute isn't defined.

  - ### getAcceptAttribute

    public final String getAcceptAttribute()
    Returns the value of the attribute `accept`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `accept` or an empty string if that attribute isn't defined.

  - ### getAlignAttribute

    public final String getAlignAttribute()
    Returns the value of the attribute `align`. Refer to the HTML 4.01 documentation for details on the use of this attribute.
    Returns:
      the value of the attribute `align` or an empty string if that attribute isn't defined.

  - ### reset

    public void reset()
    Returns the value of this element to the default value or checked state (usually what it was at the time the page was loaded, unless it has been modified via JavaScript).
    Specified by:
      `reset` in interface `SubmittableElement`
    See Also:
      - `SubmittableElement.reset()`

  - ### setDefaultValue

    public void setDefaultValue(String defaultValue)
    Sets the default value to use when this element gets reset, if applicable.
    Specified by:
      `setDefaultValue` in interface `SubmittableElement`
    Parameters:
      `defaultValue` - the default value to use when this element gets reset, if applicable
    See Also:
      - `SubmittableElement.setDefaultValue(String)`

  - ### getDefaultValue

    public String getDefaultValue()
    Returns the default value to use when this element gets reset, if applicable.
    Specified by:
      `getDefaultValue` in interface `SubmittableElement`
    Returns:
      the default value to use when this element gets reset, if applicable
    See Also:
      - `SubmittableElement.getDefaultValue()`

  - ### getRawValue

    public String getRawValue()
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    Returns:
      the raw value

  - ### setRawValue

    public void setRawValue(String rawValue)
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    Update the raw value.
    Parameters:
      `rawValue` - the new raw value

  - ### isDefaultChecked

    public boolean isDefaultChecked()
    Returns the default checked state to use when this element gets reset, if applicable. The default implementation returns `false`; only checkboxes and radio buttons really care what the default checked value is.
    Specified by:
      `isDefaultChecked` in interface `SubmittableElement`
    Returns:
      the default checked state to use when this element gets reset, if applicable
    See Also:
      - `SubmittableElement.isDefaultChecked()`
      - `HtmlRadioButtonInput.isDefaultChecked()`
      - `HtmlCheckBoxInput.isDefaultChecked()`

  - ### setChecked

    public Page setChecked(boolean isChecked)
    Sets the `checked` attribute, returning the page that occupies this input's window after setting the attribute. Note that the returned page may or may not be the original page, depending on the presence of JavaScript event handlers, etc.
    Parameters:
      `isChecked` - `true` if this element is to be selected
    Returns:
      the page that occupies this input's window after setting the attribute

  - ### setReadOnly

    public void setReadOnly(boolean isReadOnly)
    Sets the `readOnly` attribute.
    Parameters:
      `isReadOnly` - `true` if this element is read only

  - ### isChecked

    public boolean isChecked()
    Returns `true` if this element is currently selected.
    Returns:
      `true` if this element is currently selected

  - ### isReadOnly

    public boolean isReadOnly()
    Returns `true` if this element is read only.
    Returns:
      `true` if this element is read only

  - ### propagateClickStateUpdateToParent

    protected boolean propagateClickStateUpdateToParent()
    Overrides:
      `propagateClickStateUpdateToParent` in class `DomElement`
    Returns:
      true or false
    See Also:
      - `Usually the click is propagated to the parent. Overwrite if you like to disable this.`

  - ### handles

    public boolean handles(org.htmlunit.javascript.host.event.Event event)
    Indicates if the provided event can be applied to this node. Overwrite this.
    Overrides:
      `handles` in class `HtmlElement`
    Parameters:
      `event` - the event
    Returns:
      `false` if the event can't be applied

  - ### setAttributeNS

    protected void setAttributeNS(String namespaceURI, String qualifiedName, String attributeValue, boolean notifyAttributeChangeListeners, boolean notifyMutationObservers)
    Sets the value of the attribute specified by namespace and qualified name.
    Overrides:
      `setAttributeNS` in class `HtmlElement`
    Parameters:
      `namespaceURI` - the URI that identifies an XML namespace
      `qualifiedName` - the qualified name (prefix:local) of the attribute
      `attributeValue` - the value of the attribute
      `notifyAttributeChangeListeners` - to notify the associated `HtmlAttributeChangeListener`s
      `notifyMutationObservers` - to notify `MutationObserver`s or not

  - ### getOriginalName

    public String getOriginalName()
    Gets the first value of the `name` attribute of this field before any change.
    Specified by:
      `getOriginalName` in interface `FormFieldWithNameHistory`
    Returns:
      the original name (which is the same as the current one when no change has been made)

  - ### getNewNames

    public Collection<String> getNewNames()
    Get all the names this field got after the original one.
    Specified by:
      `getNewNames` in interface `FormFieldWithNameHistory`
    Returns:
      an empty collection if the name attribute has never been changed.

  - ### valueModifiedByJavascript

    public void valueModifiedByJavascript()
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    Marks this element as modified (value) by javascript. This is needed to support maxlength/minlength validation.

  - ### focus

    public final void focus()
    Sets the focus on this element.
    Overrides:
      `focus` in class `DomElement`

  - ### removeFocus

    public final void removeFocus()
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    Gets notified that it has lost the focus.
    Overrides:
      `removeFocus` in class `DomElement`

  - ### getInternalValue

    protected Object getInternalValue()
    Returns:
      returns the raw value

  - ### getDefaultStyleDisplay

    public HtmlElement.DisplayStyle getDefaultStyleDisplay()
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    Returns the default display style.
    Overrides:
      `getDefaultStyleDisplay` in class `HtmlElement`
    Returns:
      the default display style

  - ### getSize

    public String getSize()
    Returns the value of the `size` attribute.
    Returns:
      the value of the `size` attribute

  - ### setSize

    public void setSize(String size)
    Sets the `size` attribute.
    Parameters:
      `size` - the `size` attribute

  - ### setMaxLength

    public void setMaxLength(int maxLength)
    Sets the `maxLength` attribute.
    Parameters:
      `maxLength` - the `maxLength` attribute

  - ### setMinLength

    public void setMinLength(int minLength)
    Sets the `minLength` attribute.
    Parameters:
      `minLength` - the `minLength` attribute

  - ### getAccept

    public String getAccept()
    Returns the value of the `accept` attribute.
    Returns:
      the value of the `accept` attribute

  - ### setAccept

    public void setAccept(String accept)
    Sets the `accept` attribute.
    Parameters:
      `accept` - the `accept` attribute

  - ### getAutocomplete

    public String getAutocomplete()
    Returns the value of the `autocomplete` attribute.
    Returns:
      the value of the `autocomplete` attribute

  - ### setAutocomplete

    public void setAutocomplete(String autocomplete)
    Sets the `autocomplete` attribute.
    Parameters:
      `autocomplete` - the `autocomplete` attribute

  - ### getPlaceholder

    public String getPlaceholder()
    Returns the value of the `placeholder` attribute.
    Returns:
      the value of the `placeholder` attribute

  - ### setPlaceholder

    public void setPlaceholder(String placeholder)
    Sets the `placeholder` attribute.
    Parameters:
      `placeholder` - the `placeholder` attribute

  - ### getPattern

    public String getPattern()
    Returns the value of the `pattern` attribute.
    Returns:
      the value of the `pattern` attribute

  - ### setPattern

    public void setPattern(String pattern)
    Sets the `pattern` attribute.
    Parameters:
      `pattern` - the `pattern` attribute

  - ### getMin

    public String getMin()
    Returns the value of the `min` attribute.
    Returns:
      the value of the `min` attribute

  - ### setMin

    public void setMin(String min)
    Sets the `min` attribute.
    Parameters:
      `min` - the `min` attribute

  - ### getMax

    public String getMax()
    Returns the value of the `max` attribute.
    Returns:
      the value of the `max` attribute

  - ### setMax

    public void setMax(String max)
    Sets the `max` attribute.
    Parameters:
      `max` - the `max` attribute

  - ### getStep

    public String getStep()
    Returns the value of the `step` attribute.
    Returns:
      the value of the `step` attribute

  - ### setStep

    public void setStep(String step)
    Sets the `step` attribute.
    Parameters:
      `step` - the `step` attribute

  - ### isValid

    public boolean isValid()
    Description copied from class: `HtmlElement`
    Returns whether this element satisfies all form validation constraints set.
    Overrides:
      `isValid` in class `HtmlElement`
    Returns:
      whether this element satisfies all form validation constraints set

  - ### isCustomValidityValid

    protected boolean isCustomValidityValid()

  - ### isRequiredSupported

    protected boolean isRequiredSupported()
    Description copied from class: `HtmlElement`
    Returns whether this element supports the `required` constraint.
    Overrides:
      `isRequiredSupported` in class `HtmlElement`
    Returns:
      whether this element supports the `required` constraint

  - ### isPatternSupported

    protected boolean isPatternSupported()
    Returns if the input element supports pattern validation. Refer to the HTML 5 documentation for details.
    Returns:
      if the input element supports pattern validation

  - ### isBlankPatternValidated

    protected boolean isBlankPatternValidated()
    Returns:
      if the element executes pattern validation on blank strings

  - ### isMinMaxLengthSupported

    protected boolean isMinMaxLengthSupported()
    Returns if the input element supports maxlength minlength validation. Refer to the HTML 5 documentation for details.
    Returns:
      if the input element supports pattern validation

  - ### cloneNode

    public DomNode cloneNode(boolean deep)
    Specified by:
      `cloneNode` in interface `Node`
    Overrides:
      `cloneNode` in class `HtmlElement`

  - ### willValidate

    public boolean willValidate()
    Specified by:
      `willValidate` in interface `ValidatableElement`
    Returns:
      whether the element is a candidate for constraint validation

  - ### setCustomValidity

    public void setCustomValidity(String message)
    Sets the custom validity message for the element to the specified message.
    Specified by:
      `setCustomValidity` in interface `ValidatableElement`
    Parameters:
      `message` - the new message

  - ### isCheckable

    public boolean isCheckable()
    Returns:
      whether this is a checkbox or a radio button

  - ### isSubmitable

    public boolean isSubmitable()
    Returns:
      false for type submit/resest/image/button otherwise true

  - ### isCustomErrorValidityState

    public boolean isCustomErrorValidityState()
    Specified by:
      `isCustomErrorValidityState` in interface `ValidatableElement`
    Returns:
      a boolean value indicating whether the element's custom validity message has been set to a non-empty string by calling the element's setCustomValidity() method.

  - ### hasPatternMismatchValidityState

    public boolean hasPatternMismatchValidityState()
    Specified by:
      `hasPatternMismatchValidityState` in interface `ValidatableElement`
    Returns:
      true if the value does not match the specified pattern, and false if it does match. If true, the element matches the :invalid CSS pseudo-class

  - ### isTooShortValidityState

    public boolean isTooShortValidityState()
    Specified by:
      `isTooShortValidityState` in interface `ValidatableElement`
    Returns:
      true if the value is shorter than the minimum length specified by the minlength attribute, or false if it is greater than or equal to the minimum. If true, the element matches the :invalid CSS pseudo-class

  - ### isValidValidityState

    public boolean isValidValidityState()
    Specified by:
      `isValidValidityState` in interface `ValidatableElement`
    Returns:
      true if the element meets all its validation constraints, and is therefore considered to be valid, or false if it fails any constraint. If true, the element matches the :valid CSS pseudo-class; the :invalid CSS pseudo-class otherwise.

  - ### isValueMissingValidityState

    public boolean isValueMissingValidityState()
    Specified by:
      `isValueMissingValidityState` in interface `ValidatableElement`
    Returns:
      true if the element has a required attribute, but no value, or false otherwise. If true, the element matches the :invalid CSS pseudo-class.

  - ### isFormNoValidate

    public final boolean isFormNoValidate()
    Returns:
      the value of the attribute `formnovalidate` or an empty string if that attribute isn't defined

  - ### setFormNoValidate

    public final void setFormNoValidate(boolean noValidate)
    Sets the value of the attribute `formnovalidate`.
    Parameters:
      `noValidate` - the value of the attribute `formnovalidate`

  - ### getType

    public final String getType()
    Returns:
      the `type` property

  - ### changeType

    public HtmlInput changeType(String newType, boolean setThroughAttribute)
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    Changes the type of the current HtmlInput. Because there are several subclasses of HtmlInput, changing the type attribute is not sufficient, this will replace the HtmlInput element in the DOM tree with a new one (at least of the newType is different from the old one).
    The js peer object is still the same (there is only a HTMLInputElement without any sublcasses).
    This returns the new (or the old) HtmlInput element to ease the use of this method.
    Parameters:
      `newType` - the new type to set
      `setThroughAttribute` - set type value through setAttribute()
    Returns:
      the new or the old HtmlInput element

  - ### adjustValueAfterTypeChange

    protected void adjustValueAfterTypeChange(HtmlInput oldInput, BrowserVersion browserVersion)

  - ### unmarkValueDirty

    protected void unmarkValueDirty()

  - ### markValueDirty

    protected void markValueDirty()