com.gargoylesoftware.htmlunit.html
Class HtmlInput

java.lang.Object
  extended by com.gargoylesoftware.htmlunit.html.DomNode
      extended by com.gargoylesoftware.htmlunit.html.DomNamespaceNode
          extended by com.gargoylesoftware.htmlunit.html.DomElement
              extended by com.gargoylesoftware.htmlunit.html.HtmlElement
                  extended by com.gargoylesoftware.htmlunit.html.HtmlInput
All Implemented Interfaces:
DisabledElement, FormFieldWithNameHistory, SubmittableElement, Serializable, Cloneable, Element, Node
Direct Known Subclasses:
HtmlButtonInput, HtmlCheckBoxInput, HtmlFileInput, HtmlHiddenInput, HtmlImageInput, HtmlPasswordInput, HtmlRadioButtonInput, HtmlResetInput, HtmlSubmitInput, HtmlTextInput

public abstract class HtmlInput
extends HtmlElement
implements DisabledElement, SubmittableElement, FormFieldWithNameHistory

Wrapper for the HTML element "input".

Version:
$Revision: 5796 $
Author:
Mike Bowler, David K. Taylor, Christian Sell, David D. Kilzer, Marc Guillemot, Daniel Gredler, Ahmed Ashour
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
HtmlElement.ChildElementsIterator
 
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomNode
DomNode.ChildIterator, DomNode.DescendantElementsIterator<T extends DomNode>
 
Field Summary
static String TAG_NAME
          The HTML tag represented by this element.
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
TAB_INDEX_OUT_OF_BOUNDS
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.DomElement
ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.DomNode
AS_TEXT_BLANK, AS_TEXT_BLOCK_SEPARATOR, AS_TEXT_NEW_LINE, AS_TEXT_TAB, PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED
 
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
HtmlInput(SgmlPage page, Map<String,DomAttr> attributes)
          Creates an instance.
HtmlInput(String namespaceURI, String qualifiedName, SgmlPage page, Map<String,DomAttr> attributes)
          Creates an instance.
 
Method Summary
<P extends Page>
P
click(int x, int y)
          Simulate clicking this input with a pointing device.
 String getAcceptAttribute()
          Returns the value of the attribute "accept".
 String getAccessKeyAttribute()
          Returns the value of the attribute "accesskey".
 String getAlignAttribute()
          Returns the value of the attribute "align".
 String getAltAttribute()
          Returns the value of the attribute "alt".
 String getCheckedAttribute()
          Returns the value of the attribute "checked".
 String getDefaultValue()
          Returns the default value to use when this element gets reset, if applicable.
 String getDisabledAttribute()
          Returns the value of the attribute "disabled".
 String getMaxLengthAttribute()
          Returns the value of the attribute "maxlength".
 String getNameAttribute()
          Returns the value of the attribute "name".
 String getOnBlurAttribute()
          Returns the value of the attribute "onblur".
 String getOnChangeAttribute()
          Returns the value of the attribute "onchange".
 String getOnFocusAttribute()
          Returns the value of the attribute "onfocus".
 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.
 Collection<String> getPreviousNames()
          Get all the names this field had before the current one.
 String getReadOnlyAttribute()
          Returns the value of the attribute "readonly".
 String getSizeAttribute()
          Returns the value of the attribute "size".
 String getSrcAttribute()
          Returns the value of the attribute "src".
 NameValuePair[] getSubmitKeyValuePairs()
          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.
 String getTabIndexAttribute()
          Returns the value of the attribute "tabindex".
 String getTypeAttribute()
          Returns the value of the attribute "type".
 String getUseMapAttribute()
          Returns the value of the attribute "usemap".
 String getValueAttribute()
          Return the value of the attribute "value".
 boolean isChecked()
          Returns true if this element is currently selected.
 boolean isDefaultChecked()
          Returns the default checked state to use when this element gets reset, if applicable.
 boolean isDisabled()
          Returns true if the disabled attribute is set for this element.
 boolean isReadOnly()
          Returns true if this element is read only.
 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 setAttributeNS(String namespaceURI, String qualifiedName, String attributeValue)
          Sets the value of the specified attribute.
 Page setChecked(boolean isChecked)
          Sets the "checked" attribute, returning the page that occupies this input's window after setting the attribute.
 void setDefaultChecked(boolean defaultChecked)
          Sets the default checked state to use when this element gets reset, if applicable.
 void setDefaultValue(String defaultValue)
          Sets the default value to use when this element gets reset, if applicable.
protected  void setDefaultValue(String defaultValue, boolean modifyValue)
          Sets the default value, optionally also modifying the current value.
 void setReadOnly(boolean isReadOnly)
          Sets the "readOnly" attribute.
 Page setValueAttribute(String newValue)
          Sets the content of the "value" attribute, executing onchange handlers if appropriate.
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
addHtmlAttributeChangeListener, appendChildIfNoneExists, blur, checkChildHierarchy, click, click, click, dblClick, dblClick, doClickAction, doType, fireEvent, fireEvent, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, focus, getCanonicalXPath, getChildElements, getElementById, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getEventTargetElement, getHtmlElementsByTagName, getHtmlElementsByTagNames, getId, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasEventHandlers, hasHtmlElementWithId, isAttributeCaseSensitive, isStateUpdateFirst, isSubmittableByEnter, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, removeAttribute, removeChild, removeEventHandler, removeHtmlAttributeChangeListener, rightClick, rightClick, setEventHandler, setEventHandler, setId, toString, type, type, type, type
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomElement
cloneNode, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getElementsByTagName, getElementsByTagNameNS, getNodeType, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isEmptyXmlTagExpanded, namespaces, printOpeningTagContentAsXml, printXml, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNamespaceNode
getLocalName, getNamespaceURI, getPrefix, getQualifiedName, setPrefix
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNode
addDomChangeListener, appendChild, asText, asXml, compareDocumentPosition, fireNodeAdded, fireNodeDeleted, getAllHtmlChildElements, getAncestors, getBaseURI, getByXPath, getChildNodes, getChildren, getDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getIndex, getLastChild, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousSibling, getReadyState, getScriptObject, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, hasChildNodes, insertBefore, insertBefore, isAncestorOf, isAncestorOfAny, isBlock, isDefaultNamespace, isDisplayed, isEqualNode, isSameNode, isSupported, isTrimmedText, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, onAddedToPage, onAllChildrenAddedToPage, printChildrenAsXml, remove, removeAllChildren, removeChild, removeDomChangeListener, replace, replaceChild, setNextSibling, setNodeValue, setParentNode, setPreviousSibling, setReadyState, setScriptObject, 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, setNodeValue, setPrefix, setTextContent, setUserData
 

Field Detail

TAG_NAME

public static final String TAG_NAME
The HTML tag represented by this element.

See Also:
Constant Field Values
Constructor Detail

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 namespaceURI,
                 String qualifiedName,
                 SgmlPage page,
                 Map<String,DomAttr> attributes)
Creates an instance.

Parameters:
namespaceURI - the URI that identifies an XML namespace
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 Page setValueAttribute(String newValue)
Sets the content of the "value" attribute, executing onchange handlers if appropriate. This method returns the page contained by this element's window after the value is set, which may or may not be the same as the original page.

Parameters:
newValue - the new content
Returns:
the page contained by this element's window after the value is set

getSubmitKeyValuePairs

public NameValuePair[] getSubmitKeyValuePairs()

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:
getSubmitKeyValuePairs 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

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.

getSrcAttribute

public final 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.

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. Also sets the value attribute when emulating Netscape browsers.

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), HtmlFileInput.setDefaultValue(String)

setDefaultValue

protected void setDefaultValue(String defaultValue,
                               boolean modifyValue)
Sets the default value, optionally also modifying the current value.

Parameters:
defaultValue - the new default value
modifyValue - Whether or not to set the current value to the default value

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()

setDefaultChecked

public void setDefaultChecked(boolean defaultChecked)
Sets the default checked state to use when this element gets reset, if applicable. The default implementation is empty; only checkboxes and radio buttons really care what the default checked value is.

Specified by:
setDefaultChecked in interface SubmittableElement
Parameters:
defaultChecked - the default checked state to use when this element gets reset, if applicable
See Also:
SubmittableElement.setDefaultChecked(boolean), HtmlRadioButtonInput.setDefaultChecked(boolean), HtmlCheckBoxInput.setDefaultChecked(boolean)

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

click

public <P extends Page> P click(int x,
                                int y)
                     throws IOException,
                            ElementNotFoundException
Simulate clicking this input with a pointing device. The x and y coordinates of the pointing device will be sent to the server.

Type Parameters:
P - the page type
Parameters:
x - the x coordinate of the pointing device at the time of clicking
y - the y coordinate of the pointing device at the time of clicking
Returns:
the page that is loaded after the click has taken place
Throws:
IOException - If an io error occurs
ElementNotFoundException - If a particular XML element could not be found in the DOM model

setAttributeNS

public void setAttributeNS(String namespaceURI,
                           String qualifiedName,
                           String attributeValue)
Sets the value of the specified attribute. This method may be overridden by subclasses which are interested in specific attribute value changes, but such methods must invoke super.setAttributeValue(), and should consider the value of the cloning parameter when deciding whether or not to execute custom logic.

Specified by:
setAttributeNS in interface Element
Overrides:
setAttributeNS in class HtmlElement
Parameters:
namespaceURI - the URI that identifies an XML namespace
qualifiedName - the qualified name of the attribute
attributeValue - the value of the attribute

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)

getPreviousNames

public Collection<String> getPreviousNames()
Get all the names this field had before the current one.

Specified by:
getPreviousNames in interface FormFieldWithNameHistory
Returns:
an empty collection if the name attribute has never been changed.


Copyright © 2002-2010 Gargoyle Software Inc.. All Rights Reserved.