Short URL: http://html5.org/r/6727
| SVN | Bug | Comment | Time (UTC) |
|---|---|---|---|
| 6727 | 13776 | 2011-10-21 21:32 |
Index: source
===================================================================
--- source (revision 6726)
+++ source (revision 6727)
@@ -47430,13 +47430,17 @@
<dd>
- <p>Returns the form control in the form with the given <span title="concept-id">ID</span> or <code
+ <p>Returns the form control (or, if there are several, a
+ <code>NodeList</code> of the form controls) in the form with the
+ given <span title="concept-id">ID</span> or <code
title="attr-fe-name">name</code> (excluding image buttons for
- historical reasons).</p>
+ historical reasons); or, if there are none, returns the
+ <code>img</code> element with the given ID.</p>
<p>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 <span title="concept-id">ID</span> or <code
+ element in this method, even if the element's actual <span
+ title="concept-id">ID</span> or <code
title="attr-fe-name">name</code> changes, for as long as the
element remains in the <code>Document</code>.</p>
@@ -47520,14 +47524,20 @@
the <code title="dom-form-elements">elements</code> collection, when
invoked with the given index as its argument.</p>
+ <hr>
+
+ <!-- Welcome to crazy town. Population: The Web. -->
+
<p>Each <code>form</code> element has a mapping of names to elements
called the <dfn>past names map</dfn>. It is used to persist names of
controls even when they change names.</p>
- <p>The <span>supported property names</span> are the union of the
- names currently supported by the object returned by the <code
- title="dom-form-elements">elements</code> attribute, and the names
- currently in the <span>past names map</span>.</p>
+ <p>The <span>supported property names</span> consist of the values
+ of all the <code title="attr-id">id</code> and <code
+ title="attr-fe-name">name</code> attributes of all the <span
+ title="category-listed">listed elements</span> and <code>img</code>
+ elements that are descendants of the <code>form</code> element, and
+ all the names currently in the <span>past names map</span>.</p>
<p>When a <code>form</code> element is <dfn
title="dom-form-namedItem">indexed for named property
@@ -47535,40 +47545,40 @@
<ol>
- <li>
+ <li><p>Let <var title="">candidates</var> be a <span>live</span>
+ <code>NodeList</code> object containing all the <span
+ title="category-listed">listed elements</span> that are descendants
+ of the <code>form</code> element and that have either an <code
+ title="attr-id">id</code> attribute or a <code
+ title="attr-fe-name">name</code> attribute equal to <var
+ title="">name</var>, in <span>tree order</span>.</p></li>
- <p>If <var title="">name</var> is one of the <span>supported
- property names</span> of the object returned by the <code
- title="dom-form-elements">elements</code> attribute, then run
- these substeps:</p>
+ <li><p>If <var title="">candidates</var> is empty, let <var
+ title="">candidates</var> be a <span>live</span>
+ <code>NodeList</code> object containing all the <code>img</code>
+ elements that are descendants of the <code>form</code> element and
+ that have either an <code title="attr-id">id</code> attribute or a
+ <code title="attr-img-name">name</code> attribute equal to <var
+ title="">name</var>, in <span>tree order</span>.</p></li>
- <ol>
+ <li><p>If <var title="">candidates</var> is empty, <var
+ title="">name</var> is the name of one of the entries in the
+ <code>form</code> element's <span>past names map</span>: return the
+ object associated with <var title="">name</var> in that
+ map.</p></li>
- <li><p>Let <var title="">candidate</var> be the object returned
- by the <code
- title="dom-HTMLFormControlsCollection-namedItem">namedItem()</code>
- method on the object returned by the <code
- title="dom-form-elements">elements</code> attribute when passed
- the <var title="">name</var> argument.</p></li>
+ <li><p>If <var title="">candidates</var> contains more than one
+ node, return <var title="">candidates</var> and abort these
+ steps.</p></li>
- <li><p>If <var title="">candidate</var> is an element, then add a
- mapping from <var title="">name</var> to <var
- title="">candidate</var> in the <code>form</code> element's
- <span>past names map</span>, replacing the previous entry with
- the same name, if any.</p></li>
+ <li><p>Otherwise, <var title="">candidates</var> contains exactly
+ one node. Add a mapping from <var title="">name</var> to the node
+ in <var title="">candidates</var> in the <code>form</code> element's
+ <span>past names map</span>, replacing the previous entry with the
+ same name, if any.</p></li>
- <li><p>Return <var title="">candidate</var> and abort these
- steps.</p></li>
+ <li><p>Return the node in <var title="">candidates</var>.</p></li>
- </ol>
-
- </li>
-
- <li><p>Otherwise, <var title="">name</var> is the name of one of
- the entries in the <code>form</code> element's <span>past names
- map</span>: return the object associated with <var
- title="">name</var> in that map.</p></li>
-
</ol>
<p>If an element listed in the <code>form</code> element's <span>past
@@ -47595,8 +47605,17 @@
of writing, Safari returned the first element, Firefox returned
null (as we do), and IE7 returned the original collection:
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E...%3Cform%20action%3D%22%2F%22%3E%3Cinput%20name%3Da%20id%3Dfirst%3E%3Cinput%20name%3Da%20id%3Dsecond%3E%3C%2Fform%3E%0A%3Cscript%3E%0A%20w%28document.forms[0].a%29%3B%0A%20document.getElementsByTagName%28%27input%27%29[0].name%20%3D%20%27b%27%3B%0A%20document.getElementsByTagName%28%27input%27%29[1].name%20%3D%20%27b%27%3B%0A%20w%28document.forms[0].length%29%3B%0A%20w%28document.forms[0].a.id%29%3B%0A%3C%2Fscript%3E
+
+ In addition, the <img> fallback nonsense is similarly here for
+ legacy reasons. As is the exclusion of <input type=image>.
+
+ Also, check this out:
+ http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1220
+
-->
+ <!-- Now leaving crazy town. -->
+
<hr>
<p>The <dfn title="dom-form-submit"><code>submit()</code></dfn>