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, form controls in the form will have
  their autofill field name set to "off"; the on state indicates
  that by default, form controls in the form will have their
  autofill field name 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
    RadioNodeList 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
    RadioNodeList 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 while the form
  element is in a Document and rooted at the
  form element itself when it is not, 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
   RadioNodeList 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
   RadioNodeList 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>