This is revision 1.5612.
form elementform element descendants.accept-charsetactionautocompleteenctypemethodnamenovalidatetarget[OverrideBuiltins]
interface HTMLFormElement : HTMLElement {
attribute DOMString acceptCharset;
attribute DOMString action;
attribute DOMString autocomplete;
attribute DOMString enctype;
attribute DOMString encoding;
attribute DOMString method;
attribute DOMString name;
attribute boolean noValidate;
attribute DOMString target;
readonly attribute HTMLFormControlsCollection elements;
readonly attribute long length;
getter Element (unsigned long index);
getter object (DOMString name);
void submit();
void reset();
boolean checkValidity();
};
The form element represents a
collection of form-associated
elements, some of which can represent editable values that
can be submitted to a server for processing.
The accept-charset
attribute gives the character encodings that are to be used for the
submission. If specified, the value must be an ordered set of
unique space-separated tokens that are ASCII
case-insensitive, and each token must be an ASCII
case-insensitive match for the preferred MIME
name of an ASCII-compatible character encoding.
[IANACHARSET]
The name attribute
represents the form's name within the forms collection. The value must
not be the empty string, and the value must be unique amongst the
form elements in the forms collection that it is in, if
any.
The autocomplete
attribute is an enumerated attribute. The attribute has
two states. The on
keyword maps to the on state, and the
off keyword maps to
the off
state. The attribute may also be omitted. The missing value
default is the on state. The off state indicates
that by default, input elements in the form will have
their resulting autocompletion state set to off; the on state indicates
that by default, input elements in the form will have
their resulting autocompletion state set to on.
The action, enctype, method, novalidate, and target attributes are attributes
for form submission.
elementsReturns an HTMLCollection of the form controls in
the form (excluding image buttons for historical reasons).
lengthReturns the number of form controls in the form (excluding image buttons for historical reasons).
Returns the indexth element in the form (excluding image buttons for historical reasons).
Returns the form control (or, if there are several, a
NodeList of the form controls) in the form with the
given ID or name (excluding image buttons for
historical reasons); or, if there are none, returns the
img element with the given ID.
Once an element has been referenced using a particular name,
that name will continue being available as a way to reference that
element in this method, even if the element's actual ID or name changes, for as long as the
element remains in the Document.
If there are multiple matching items, then a
NodeList object containing all those elements is
returned.
submit()Submits the form.
reset()Resets the form.
checkValidity()Returns true if the form's controls are all valid; otherwise, returns false.
The autocomplete IDL
attribute must reflect the content attribute of the
same name, limited to only known values.
The name IDL
attribute must reflect the content attribute of the
same name.
The acceptCharset IDL
attribute must reflect the accept-charset content
attribute.
The elements
IDL attribute must return an HTMLFormControlsCollection
rooted at the Document node, whose filter matches listed elements whose form
owner is the form element, with the exception of
input elements whose type attribute is in the Image Button state, which must,
for historical reasons, be excluded from this particular
collection.
The length IDL
attribute must return the number of nodes represented by the elements collection.
The supported property indices at any instant are
the indices supported by the object returned by the elements attribute at that
instant.
When a form element is indexed for indexed property retrieval,
the user agent must return the value returned by the item method on
the elements collection, when
invoked with the given index as its argument.
Each form element has a mapping of names to elements
called the past names map. It is used to persist names of
controls even when they change names.
The supported property names consist of the values
of all the id and name attributes of all the listed elements and img
elements that are descendants of the form element, and
all the names currently in the past names map.
When a form element is indexed for named property
retrieval, the user agent must run the following steps:
Let candidates be a live
NodeList object containing all the listed elements that are descendants
of the form element and that have either an id attribute or a name attribute equal to name, in tree order.
If candidates is empty, let candidates be a live
NodeList object containing all the img
elements that are descendants of the form element and
that have either an id attribute or a
name attribute equal to name, in tree order.
If candidates is empty, name is the name of one of the entries in the
form element's past names map: return the
object associated with name in that
map.
If candidates contains more than one node, return candidates and abort these steps.
Otherwise, candidates contains exactly
one node. Add a mapping from name to the node
in candidates in the form element's
past names map, replacing the previous entry with the
same name, if any.
Return the node in candidates.
If an element listed in the form element's past
names map is removed from the Document, then its
entries must be removed from the map.
The submit()
method, when invoked, must submit the form
element from the form element itself, with the submitted from submit() method flag set.
The reset()
method, when invoked, must run the following steps:
If the form element is marked as locked for
reset, then abort these steps.
Mark the form element as locked for
reset.
Unmark the form element as locked for
reset.
If the checkValidity()
method is invoked, the user agent must statically validate the
constraints of the form element, and return true
if the constraint validation return a positive result, and
false if it returned a negative result.
This example shows two search forms:
<form action="http://www.google.com/search" method="get"> <label>Google: <input type="search" name="q"></label> <input type="submit" value="Search..."> </form> <form action="http://www.bing.com/search" method="get"> <label>Bing: <input type="search" name="q"></label> <input type="submit" value="Search..."> </form>