com.gargoylesoftware.htmlunit.html
Class HtmlButton

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.HtmlButton
All Implemented Interfaces:
DisabledElement, FormFieldWithNameHistory, SubmittableElement, Serializable, Cloneable, Element, Node

public class HtmlButton
extends HtmlElement
implements DisabledElement, SubmittableElement, FormFieldWithNameHistory

Wrapper for the HTML element "button".

Version:
$Revision: 5796 $
Author:
Mike Bowler, David K. Taylor, Christian Sell, David D. Kilzer, Daniel Gredler, Ahmed Ashour, Dmitri Zoubkov
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
 
Method Summary
protected  void doClickAction()
          This method will be called if there either wasn't an onclick handler, or if there was one, but the result of that handler wasn't false.
 String getAccessKeyAttribute()
          Returns the value of the attribute "accesskey".
 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 getNameAttribute()
          Returns the value of the attribute "name".
 String getOnBlurAttribute()
          Returns the value of the attribute "onblur".
 String getOnFocusAttribute()
          Returns the value of the attribute "onfocus".
 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.
 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 getValueAttribute()
          Returns the value of the attribute "value".
 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.
 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.
 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.
 void setValueAttribute(String newValue)
          Sets the content of the "value" attribute.
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
addHtmlAttributeChangeListener, appendChildIfNoneExists, blur, checkChildHierarchy, click, click, click, dblClick, dblClick, 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
Method Detail

setValueAttribute

public void setValueAttribute(String newValue)
Sets the content of the "value" attribute.

Parameters:
newValue - the new content

doClickAction

protected void doClickAction()
                      throws IOException

This method will be called if there either wasn't an onclick handler, or if there was one, but the result of that handler wasn't false. This is the default behavior of clicking the element.

The default implementation returns the current page. Subclasses requiring different behavior (like HtmlSubmitInput) will override this method.

Overrides:
doClickAction in class HtmlElement
Throws:
IOException - if an IO error occurs

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

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

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

setDefaultChecked

public void setDefaultChecked(boolean defaultChecked)
Sets the default checked state to use when this element gets reset, if applicable. This 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. This 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()

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

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. Note that Internet Explorer doesn't follow the spec when the type isn't specified. It will return "button" rather than the "submit" specified in the spec.

Returns:
the value of the attribute "type" or the default value 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

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

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.