Short URL: http://html5.org/r/2164
| SVN | Bug | Comment | Time (UTC) |
|---|---|---|---|
| 2164 | WF2: Complete the 'construcint the form data set' subalgorithm. | 2008-09-11 22:16 |
Index: source
===================================================================
--- source (revision 2163)
+++ source (revision 2164)
@@ -24140,7 +24140,10 @@
<p class="big-issue">... <dfn title="concept-input-checked">checked</dfn></p>
+ <p class="big-issue">... image: <dfn title="concept-input-type-image-coordinate">selected coordinate</dfn></p>
+ <p class="big-issue">... <dfn title="concept-input-type-file-selected">selected file</dfn></p>
+
<h4>The <dfn><code>button</code></dfn> element</h4>
<dl class="element">
@@ -24364,6 +24367,10 @@
<p class="big-issue">...</p>
+ <p class="big-issue">... <dfn title="concept-option-selected">selected</dfn></p>
+
+ <p class="big-issue">... <dfn title="concept-option-value">value</dfn></p>
+
<p class="big-issue">
<dfn title="dom-option"><code>Option()</code></dfn>
<dfn title="dom-option-n"><code>Option(<var title="">name</var>)</code></dfn>
@@ -24587,7 +24594,9 @@
<p class="big-issue">... <dfn title="dom-fe-disabled">disabled</dfn> DOM attribute</p>
+ <p class="big-issue">... <dfn title="concept-fe-value">value</dfn></p>
+
<h4>Constraint validation</h4>
<p class="big-issue">...</p>
@@ -24631,11 +24640,11 @@
<li><p>Let the <var title="">form data set</var> be a list of
name/value pairs, initially empty.</p></li>
- <li>
+ <li id="constructing-form-data-set">
- <p>For each element <var title="">field</var> in <var
- title="">controls</var>, in <span>tree order</span>, run the
- following substeps:</p>
+ <p><strong>Constructing the form data set</strong>. For each
+ element <var title="">field</var> in <var title="">controls</var>,
+ in <span>tree order</span>, run the following substeps:</p>
<ol>
@@ -24649,14 +24658,6 @@
<li>The <var title="">field</var> element has a
<code>datalist</code> element ancestor.</li>
- <li>The <var title="">field</var> element does not have a <code
- title="attr-fe-name">name</code> attribute specified, or its
- <code title="attr-fe-name">name</code> attribute's value is the
- empty string, and it is not an <code>input</code> elements
- whose <code title="attr-input-type">type</code> attribute is in
- the <span title="attr-input-type-image-state">Image
- Button</span> state.</li>
-
<li>The <var title="">field</var> element is <span
title="concept-fe-disabled">disabled</span>.</li>
@@ -24686,10 +24687,103 @@
</ul>
+ <p>Otherwise, process <var title="">field</var> as follows:</p>
+
</li>
- <li class="big-issue">...</li>
+ <li>
+ <p>If the <var title="">field</var> element is an
+ <code>input</code> element whose <code
+ title="attr-input-type">type</code> attribute is in the <span
+ title="attr-input-type-image-state">Image Button</span> state,
+ then run these further nested substeps:</p>
+
+ <ol>
+
+ <li><p>If the <var title="">field</var> element has an <code
+ title="attr-fe-name">name</code> attribute specified and value
+ is not the empty string, let <var title="">name</var> be that
+ value followed by a single U+002E FULL STOP (.)
+ character. Otherwise, let <var title="">name</var> be the empty
+ string.</p></li>
+
+ <li><p>Let <var title="">name<sub title="">x</sub></var> be the
+ string consisting of the concatenation of <var
+ title="">name</var> and a single U+0078 LATIN SMALL LETTER X
+ (x) character.</p></li>
+
+ <li><p>Let <var title="">name<sub title="">y</sub></var> be the
+ string consisting of the concatenation of <var
+ title="">name</var> and a single U+0079 LATIN SMALL LETTER Y
+ (y) character.</p></li>
+
+ <li><p>The <var title="">field</var> element is <var
+ title="">submitter</var>, and before this algorithm was invoked
+ the user <span
+ title="concept-input-type-image-coordinate">indicated a
+ coordinate</span>. Let <var title="">x</var> be the x-component
+ of the coordindate selected by the user, and let <var
+ title="">y</var> be the y-component of the coordinate selected
+ by the user.</p></li>
+
+ <li><p>Append an entry in the <var title="">form data set</var>
+ with the name <var title="">name<sub title="">x</sub></var> and
+ the value <var title="">x</var>.</p></li>
+
+ <li><p>Append an entry in the <var title="">form data set</var>
+ with the name <var title="">name<sub title="">y</sub></var> and
+ the value <var title="">y</var>.</p></li>
+
+ <li><p>Skip the remaining substeps for this element: if there
+ are any more elements in <var title="">controls</var>, return
+ to the top of the <a
+ href="#constructing-form-data-set">constructing the form data
+ set</a> step, otherwise, jump to the next step in the overall
+ form submission algorithm.</p></li>
+
+ </ol>
+
+ </li>
+
+ <li><p>If the <var title="">field</var> element does not have a
+ <code title="attr-fe-name">name</code> attribute specified, or
+ its <code title="attr-fe-name">name</code> attribute's value is
+ the empty string, skip these substeps for this element: if there
+ are any more elements in <var title="">controls</var>, return to
+ the top of the <a href="#constructing-form-data-set">constructing
+ the form data set</a> step, otherwise, jump to the next step in
+ the overall form submission algorithm.</p></li>
+
+ <li><p>Let <var title="">name</var> be the value of the <var
+ title="">field</var> element's <code
+ title="attr-fe-name">name</code> attribute.</p></li>
+
+ <li><p>If the <var title="">field</var> element is a
+ <code>select</code> element, then for each <code>option</code>
+ element in the <code>select</code> element that is <span
+ title="concept-option-selected">selected</span>, append an entry
+ in the <var title="">form data set</var> with the <var
+ title="">name</var> as the name and the <span
+ title="concept-option-value">value</span> of the
+ <code>option</code> element as the value.</p></li>
+
+ <li><p>Otherwise, if the <var title="">field</var> element is an
+ <code>input</code> element whose <code
+ title="attr-input-type">type</code> attribute is in the <span
+ title="attr-input-type-file-state">File Upload</span> state, then
+ for each file <span
+ title="concept-input-type-file-selected">selected</span> in the
+ <code>input</code> element, append an entry in the <var
+ title="">form data set</var> with the <var title="">name</var> as
+ the name and the file as the value. (Both the file name and the
+ file contents are subsequently used.)</p></li>
+
+ <li><p>Otherwise, append an entry in the <var title="">form data
+ set</var> with <var title="">name</var> as the name and the <span
+ title="concept-fe-value">value</span> of the <var
+ title="">field</var> element as the value.</p></li>
+
</ol>
</li>