Class HtmlInput

    • Field Detail

      • TAG_NAME

        public static final java.lang.String TAG_NAME
        The HTML tag represented by this element.
        See Also:
        Constant Field Values
    • Constructor Detail

      • HtmlInput

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

        public HtmlInput​(java.lang.String qualifiedName,
                         SgmlPage page,
                         java.util.Map<java.lang.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 Detail

      • setValueAttribute

        public void setValueAttribute​(java.lang.String newValue)
        Sets the content of the value attribute.
        Parameters:
        newValue - the new value
      • getSubmitNameValuePairs

        public NameValuePair[] getSubmitNameValuePairs()

        Returns an array of NameValuePairs 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 java.lang.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 java.lang.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 java.lang.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 java.lang.String getValue()
        Returns:
        the value
      • setValue

        public void setValue​(java.lang.String newValue)
        Sets the value.
        Parameters:
        newValue - the new value
      • valueAttributeChanged

        protected void valueAttributeChanged​(java.lang.String attributeValue,
                                             boolean isValueDirty)
      • getCheckedAttribute

        public final java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.String getSrc()
        Returns the value of the src value.
        Returns:
        the value of the src value
      • setSrcAttribute

        public void setSrcAttribute​(java.lang.String src)
        Sets the src attribute.
        Parameters:
        src - the src attribute
      • getAltAttribute

        public final java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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()
      • getRawValue

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

        public void setRawValue​(java.lang.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
      • 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
      • 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​(java.lang.String namespaceURI,
                                      java.lang.String qualifiedName,
                                      java.lang.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 HtmlAttributeChangeListeners
        notifyMutationObservers - to notify MutationObservers or not
      • getOriginalName

        public java.lang.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 java.util.Collection<java.lang.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 java.lang.Object getInternalValue()
      • getSize

        public java.lang.String getSize()
        Returns the value of the size attribute.
        Returns:
        the value of the size attribute
      • setSize

        public void setSize​(java.lang.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 java.lang.String getAccept()
        Returns the value of the accept attribute.
        Returns:
        the value of the accept attribute
      • setAccept

        public void setAccept​(java.lang.String accept)
        Sets the accept attribute.
        Parameters:
        accept - the accept attribute
      • getAutocomplete

        public java.lang.String getAutocomplete()
        Returns the value of the autocomplete attribute.
        Returns:
        the value of the autocomplete attribute
      • setAutocomplete

        public void setAutocomplete​(java.lang.String autocomplete)
        Sets the autocomplete attribute.
        Parameters:
        autocomplete - the autocomplete attribute
      • getPlaceholder

        public java.lang.String getPlaceholder()
        Returns the value of the placeholder attribute.
        Returns:
        the value of the placeholder attribute
      • setPlaceholder

        public void setPlaceholder​(java.lang.String placeholder)
        Sets the placeholder attribute.
        Parameters:
        placeholder - the placeholder attribute
      • getPattern

        public java.lang.String getPattern()
        Returns the value of the pattern attribute.
        Returns:
        the value of the pattern attribute
      • setPattern

        public void setPattern​(java.lang.String pattern)
        Sets the pattern attribute.
        Parameters:
        pattern - the pattern attribute
      • getMin

        public java.lang.String getMin()
        Returns the value of the min attribute.
        Returns:
        the value of the min attribute
      • setMin

        public void setMin​(java.lang.String min)
        Sets the min attribute.
        Parameters:
        min - the min attribute
      • getMax

        public java.lang.String getMax()
        Returns the value of the max attribute.
        Returns:
        the value of the max attribute
      • setMax

        public void setMax​(java.lang.String max)
        Sets the max attribute.
        Parameters:
        max - the max attribute
      • getStep

        public java.lang.String getStep()
        Returns the value of the step attribute.
        Returns:
        the value of the step attribute
      • setStep

        public void setStep​(java.lang.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 org.w3c.dom.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​(java.lang.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
      • hasBadInputValidityState

        public boolean hasBadInputValidityState()
        Specified by:
        hasBadInputValidityState in interface ValidatableElement
        Returns:
        a boolean value boolean value that is true if the user has provided input that the browser is unable to convert.
      • 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
      • isStepMismatchValidityState

        public boolean isStepMismatchValidityState()
        Specified by:
        isStepMismatchValidityState in interface ValidatableElement
        Returns:
        true if the value does not fit the rules determined by the step attribute (that is, it's not evenly divisible by the step value), or false if it does fit the step rule. If true, the element matches the :invalid and :out-of-range CSS pseudo-classes.
      • isTooLongValidityState

        public boolean isTooLongValidityState()
        Specified by:
        isTooLongValidityState in interface ValidatableElement
        Returns:
        true if the value is longer than the maximum length specified by the maxlength attribute, or false if it is shorter than or equal to the maximum. 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
      • hasTypeMismatchValidityState

        public boolean hasTypeMismatchValidityState()
        Specified by:
        hasTypeMismatchValidityState in interface ValidatableElement
        Returns:
        true if the value is not in the required syntax (when type is email or url), or false if the syntax is correct. If true, the element matches the :invalid CSS pseudo-class.
      • hasRangeOverflowValidityState

        public boolean hasRangeOverflowValidityState()
        Specified by:
        hasRangeOverflowValidityState in interface ValidatableElement
        Returns:
        true if the value is greater than the maximum specified by the max attribute, or false if it is less than or equal to the maximum. If true, the element matches the :invalid and :out-of-range CSS pseudo-classes.
      • hasRangeUnderflowValidityState

        public boolean hasRangeUnderflowValidityState()
        Specified by:
        hasRangeUnderflowValidityState in interface ValidatableElement
        Returns:
        true if the value is less than the minimum specified by the min attribute, or false if it is greater than or equal to the minimum. If true, the element matches the :invalid and :out-of-range CSS pseudo-classes.
      • 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 java.lang.String getType()
        Returns:
        the type property
      • changeType

        public HtmlInput changeType​(java.lang.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()