button | NN 6 IE 4 DOM 1
The button object reflects the button element. While IE for the Mac doesn't share the sets of client- and scroll- properties with all element objects, those properties are defined for the button object. See the discussion of the button element in Chapter 8 to see how it differs from the input element of type button.
HTML Equivalent
    <button>
Object Model Reference
    [window.]document.getElementById("elementID")
Object-Specific Properties
dataFld | dataFormatAs | dataSrc | form | name
status | type | value |  |
Object-Specific Methods
createTextRange( )
Object-Specific Event Handler Properties
None.

accessKey | NN n/a IE 4 DOM 1
| Read/Write
This is single character key that either gives focus to an element (in some browsers) or activates a form control or link action. The browser and operating system determine if the user must press a modifier key (e.g., Ctrl, Alt, or Command) with the access key to activate the link. In Windows versions of IE 5 and later and Netscape 6, the Alt key is required and the key is not case-sensitive. For Macintosh versions of IE 5 and later and Netscape 6, the Ctrl modifier key is required to effect the action.
Although listed here as a widely shared property, that isn't strictly the case across all implementations. Netscape 6 (per the W3C DOM) recognizes this property only for the following elements: a, area, button, input, label, legend, and textarea. To this list, IE 4 adds applet, body, div, embed, isindex, marquee, object, select, span, table, and td (but removes label and legend). IE 5 adds every other renderable element, but with a caution. Except for input and other form-related elements, you must also assign a tabindex attribute or tabIndex property value to the IE 5 and later element (even if it's simply a value of zero for all) to let the accelerator key combination bring focus to the element. As of Version 7, Netscape does not alter UI behavior if a script changes the property's value.
Example
    document.links[3].accessKey = "n";
Value
Single alphanumeric (and punctuation) keyboard character.
Default
Empty string.

blur( ) | NN 2 IE 3 DOM 1
Removes focus from the current object, at which time the object's onblur event fires. Note that the range of elements capable of focus and blur (both the event and method) is limited in all browsers except for more recent versions of IE (see the shared tabindex attribute in Chapter 8). Most reliably for backward compatibility, apply the blur( ) method to blatantly focusable elements, such as text input and textarea elements. Assigning the attribute onfocus="this.blur( );" to a text input element, for instance, is a crude but effective backward-compatible way to largely disable a field for browsers that do not provide genuine element disabling.
Use blur( ) and focus( ) methods in moderation on the same page. You can inadvertently trigger endless loops of blurring and focusing if alert dialog boxes are involved along the way. Moreover, be aware that when you invoke the blur( ) method on one object, some other object (perhaps the window object) receives an onfocus event.
Parameters
None.
Returned Value
None.

clientHeight, clientWidth | NN 7 IE 4 DOM n/a
| Read-only
Broadly speaking, these provide the height and width of the element's content, but with minor variations with respect to element padding among various operating system versions of IE and compatibility modes controlled by the DOCTYPE declaration. Not available for all element types in IE for Macintosh. For Netscape 7, values are zero except when an element's content overflows the viewable area, in which case the values reveal the dimensions of the viewable area (e.g., the browser window's content region for the document.body element). See the Section 9.2 at the beginning of this chapter for details.
Example
    var midHeight = document.body.clientHeight/2;
Value
Integer pixel value.
Default
0

clientLeft, clientTop | NN n/a IE 4 DOM n/a
| Read-only
Broadly speaking, these provide the left and top coordinates of the element's content within the box that includes the element's padding, but with minor variations among various operating system versions of IE. Not available for all element types in IE for Macintosh. See the Section 9.2 at the beginning of this chapter for details. More useful information for inline element positioning generally comes from the offsetLeft and offsetTop properties (including Netscape 6). For CSS-positioned elements (including changing an element's position), use style object properties, such as left and top, and (in IE only) pixelLeft and pixelTop.
Value
Integer pixel value.
Default
0

dataFld | NN n/a IE 4 DOM n/a
| Read/Write
Used with IE data binding to associate a remote data source column name to a button object's label. A datasrc attribute must also be set for the element. Setting both the dataFld and dataSrc properties to empty strings breaks the binding between element and data source.
Example
    document.getElementById("myButton").dataFld = "linkURL";
Value
Case-sensitive identifier of the data source column.
Default
None.

dataFormatAs | NN n/a IE 4 DOM n/a
| Read/Write
Used with IE data binding, this property advises the browser whether the source material arriving from the data source is to be treated as plain text or as tagged HTML.
Example
    document.getElementById("myButton").dataFormatAs = "html";
Value
String constant values: text | html.
Default
text

dataSrc | NN n/a IE 4 DOM n/a
| Read/Write
Used with IE data binding to specify the ID of the page's object element that loads the data source object for remote data access. Content from the data source is specified via the datafld attribute in the button element. Setting both the dataFld and dataSrc properties to empty strings breaks the binding between element and data source.
Example
    document.getElementById("myButton").dataSrc = "DBSRC3";
Value
Case-sensitive identifier of the object element.
Default
None.

disabled | NN 6 IE 4 DOM 1
| Read/Write
Specifies whether the element is available for user interaction. When set to true, the element cannot receive focus or be modified by the user, and it typically appears grayed out on the page. This property is available for all HTML element objects in IE 5.5 for Windows and later. For IE 4 and IE 5, it applies only to form controls, while Netscape 6 and later recognize the property for form controls and the style element object. A disabled form control's name/value pair is not submitted with its form.
Example
    document.getElementById("myButton").disabled = true;
Value
Boolean value: true | false.
Default
false

filters[ ] | NN n/a IE 4 DOM n/a
Returns an array of all filter objects contained by the current element. Applies only to the following element objects: bdo, body, button, div, fieldset, img, input, marquee, rt, ruby, span, table, td, textarea, and th. See the filter object for referencing syntax.
Value
Array of filter object references.
Default
Array of length zero.

focus( ) | NN 2 IE 3 DOM 1
Gives focus from the current object, at which time the object's onfocus event fires. Note that the range of elements capable of focus and blur (both the event and method) is limited in all browsers except for more recent versions of IE (see the shared tabindex attribute in Chapter 8). Most reliably for backward compatibility, apply the focus( ) method to blatantly focusable elements, such as text input and textarea elements.
To give a text box focus and pre-select all the text in the box, use the sequence of focus( ) and select( ) methods on the element. If this sequence is to occur after windows change (such as after an alert dialog box closes), place the methods in a separate function, and invoke this function through the setTimeout( ) method following the alert( ) method for the dialog. This allows IE/Windows to sequence statement execution correctly.
Parameters
None.
Returned Value
None.

form | NN 6 IE 4 DOM 1
| Read-only
Returns a reference to the form element that contains the current element (if any).
Example
    var theForm = event.srcElement.form;
Value
Object reference.
Default
None.

name | NN 6 IE 4 DOM 1
| Read/Write
This is the identifier associated with the element when used as a form control. The value of this property is submitted as one-half of the name/value pair when the form is submitted to the server. Names are hidden from user view, since control labels are assigned via other means, depending on the control type. Form control names may also be used by script references to the objects.
Example
    document.forms[0].compName.name = "company";
Value
Case-sensitive identifier that follows the rules of identifier naming: it may contain no whitespace, cannot begin with a numeral, and should avoid punctuation except for the underscore character.
Default
None.

recordNumber | NN n/a IE 4 DOM n/a
| Read-only
Used with IE data binding, returns an integer representing the record within the data set that generated the element (i.e., an element whose content is filled via data binding). Values of this property can be used to extract a specific record from an Active Data Objects (ADO) record set (see recordset property). Although this property is defined for all IE element objects, the other properties related to data binding belong to a subset of elements.
Example
    <script for="tableTemplate" event="onclick">
    		    myDataCollection.recordset.absoluteposition = this.recordNumber;
    		    ...
    		</script>
Value
Integer.
Default
null

scrollHeight, scrollWidth | NN 7 IE 4 DOM n/a
| Read-only
Originally implemented in IE 4 for elements that either scrolled or influenced an element's scroll (body, button, caption, div, fieldset, legend, marquee, and textarea), these properties return the pixel dimensions of an element, including elements that are larger than the viewable area in the browser window. This is in contrast to the clientHeight and clientWidth properties for scrollable elements, which return dimensions of only visible portions of the element. IE for the Macintosh, however, interprets the intent of the scroll- properties differently, returning the dimensions of the visible portion.
Starting in IE 5 for Windows, all HTML elements have these properties, and the values for nonscrolling elements are the same as the offsetHeight and offsetWidth properties. Netscape 7 implements these properties for all elements, returning the height and width of the element, whether or not it's in view. The important point is that for key elements, such as the body, the properties mean different things and can disrupt cross-platform operation.
Example
    var midPoint = document.body.scrollHeight/2;
Value
Positive integer or zero.
Default
None.

scrollLeft, scrollTop | NN 7 IE 4 DOM n/a
| Read/Write
Provide the distance in pixels between the actual left or top edge of the element's physical content and the left or top edge of the visible portion of the content. Setting these properties allows you to use a script to adjust the scrolling of content within a scrollable container, such as text in a textarea element or an entire document in the browser window or frame. When the content is not scrolled, both values are zero. Setting the scrollTop property to 15 scrolls the document upward by 15 pixels in the window; the scrollLeft property is unaffected unless explicitly changed. The property values change as the user adjusts the scrollbars. This is important for some event-driven positioning tasks in IE for Windows because the coordinate system for event offset measurements are with respect to the visible area of a page in the browser window. You must add document.body scrolling factors to align event coordinates with body content positions (see the element dragging example in Chapter 6). Starting with IE 5 for Windows, the scrollLeft and scrollTop properties are available for all HTML element objects, but values for unscrollable elements are zero.
Example
    document.body.scrollTop = 40;
Value
Positive integer or zero.
Default
0

status | NN n/a IE 4 DOM n/a
| Read/Write
Unlike the status property of other types of form controls, the property has no visual or functional impact on the button.
Value
Boolean value: true | false; or null.
Default
null

tabIndex | NN 6 IE 4 DOM 1
| Read/Write
This is a number that indicates the sequence of this element within the tabbing order of all focusable elements in the document. Tabbing order follows a strict set of rules. Elements that have values other than zero assigned to their tabIndex properties are first in line when a user starts tabbing in a page. Focus starts with the element with the lowest tabIndex value and proceeds in order to the highest value, regardless of physical location on the page or in the document. If two elements have the same tabIndex values, the element that comes earlier in the document receives focus first. Next come all elements that either don't support the tabIndex property or have the value set to zero. These elements receive focus in the order in which they appear in the document.
The W3C DOM and Netscape 6 limit the tabIndex property to the following element objects: a, area, button, input, object, select, textarea. To this list, IE 4 adds applet, body, div, embed, isindex, marquee, span, table, and td. IE 5 adds every other renderable element. A negative value in IE (only) removes an element from tabbing order entirely.
Links and anchors cannot be tabbed to with the Mac version of IE 4, so the tabIndex property for a element objects is ignored in that version.
Example
    document.getElementById("link3").tabIndex = 6;
Value
Integer.
Default
0

type | NN 6 IE 4 DOM 1
| Read-only
Specifies whether the button element is specified as a button, reset, or submit style button.
Example
    if (evt.target.type == "button") {
        // process button element
    }
Value
One of the three constants (as a string): button | reset | submit.
Default
button

value | NN 6 IE 4 DOM 1
| Read-only
Provides the current value associated with the form control that is submitted with the name/value pair for the element. Unlike the button-type input element object, this value property's value is unseen by the user; the label is set by the element's content (innerHTML property or nested node).
Example
    var val = document.getElementById("myButton").value;
Value
String.
Default
None.

createTextRange( ) | NN n/a IE 4(Win) DOM n/a
Creates a TextRange object containing the button's label text. See the TextRange object.
Parameters
None.
Returned Value
TextRange object.