Browse files

[] (0) WF2: Complete the 'construcint the form data set' subalgorithm.

git-svn-id: http://svn.whatwg.org/webapps@2164 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information...
1 parent 840d17c commit 9e62457cadba1d03d89932781ec2256224324940 @Hixie Hixie committed Sep 11, 2008
Showing with 226 additions and 26 deletions.
  1. +1 −0 header-whatwg
  2. +118 −13 index
  3. +107 −13 source
View
1 header-whatwg
@@ -19,6 +19,7 @@
</style>
<link rel="stylesheet" href="status.css">
<script src="status.js"></script>
+ <script src="dfn.js"></script>
</head>
<body class="draft" onload="initAnnotations()">
View
131 index
@@ -20,6 +20,7 @@
</style>
<link href=status.css rel=stylesheet>
<script src=status.js></script>
+ <script src=dfn.js></script>
<body class=draft onload="initAnnotations()">
<div class=head>
@@ -26827,6 +26828,12 @@ function AddCloud(data, x, y) { ... }</pre>
<p class=big-issue>... <dfn id=checked
title=concept-input-checked>checked</dfn>
+ <p class=big-issue>... image: <dfn id=selected
+ title=concept-input-type-image-coordinate>selected coordinate</dfn>
+
+ <p class=big-issue>... <dfn id=selected0
+ title=concept-input-type-file-selected>selected file</dfn>
+
<h4 id=the-button><span class=secno>4.9.4 </span>The <dfn
id=button><code>button</code></dfn> element</h4>
@@ -27140,6 +27147,12 @@ interface <dfn id=htmloptionelement>HTMLOptionElement</dfn> : <a href="#htmlelem
<p class=big-issue>...
+ <p class=big-issue>... <dfn id=selected1
+ title=concept-option-selected>selected</dfn>
+
+ <p class=big-issue>... <dfn id=value7
+ title=concept-option-value>value</dfn>
+
<p class=big-issue> <dfn id=option0
title=dom-option><code>Option()</code></dfn> <dfn id=option1
title=dom-option-n><code>Option(<var title="">name</var>)</code></dfn>
@@ -27412,6 +27425,8 @@ interface <dfn id=htmloptionelement>HTMLOptionElement</dfn> : <a href="#htmlelem
<p class=big-issue>... <dfn id=disabled4
title=dom-fe-disabled>disabled</dfn> DOM attribute
+ <p class=big-issue>... <dfn id=value8 title=concept-fe-value>value</dfn>
+
<h4 id=constraint><span class=secno>4.9.14 </span>Constraint validation</h4>
<p class=big-issue>...
@@ -27458,10 +27473,10 @@ interface <dfn id=htmloptionelement>HTMLOptionElement</dfn> : <a href="#htmlelem
<p>Let the <var title="">form data set</var> be a list of name/value
pairs, initially empty.
- <li>
- <p>For each element <var title="">field</var> in <var
- title="">controls</var>, in <a href="#tree-order">tree order</a>, run
- the following substeps:</p>
+ <li id=constructing-form-data-set>
+ <p><strong>Constructing the form data set</strong>. For each element <var
+ title="">field</var> in <var title="">controls</var>, in <a
+ href="#tree-order">tree order</a>, run the following substeps:</p>
<ol>
<li>
@@ -27472,14 +27487,6 @@ interface <dfn id=htmloptionelement>HTMLOptionElement</dfn> : <a href="#htmlelem
<li>The <var title="">field</var> element has a <code><a
href="#datalist">datalist</a></code> element ancestor.
- <li>The <var title="">field</var> element does not have a <code
- title=attr-fe-name><a href="#name9">name</a></code> attribute
- specified, or its <code title=attr-fe-name><a
- href="#name9">name</a></code> attribute's value is the empty string,
- and it is not an <code><a href="#input0">input</a></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>The <var title="">field</var> element is <a href="#disabled2"
title=concept-fe-disabled>disabled</a>.
@@ -27508,7 +27515,105 @@ interface <dfn id=htmloptionelement>HTMLOptionElement</dfn> : <a href="#htmlelem
control does not have any files selected.
</ul>
- <li class=big-issue>...
+ <p>Otherwise, process <var title="">field</var> as follows:</p>
+
+ <li>
+ <p>If the <var title="">field</var> element is an <code><a
+ href="#input0">input</a></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><a href="#name9">name</a></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.
+
+ <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.
+
+ <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.
+
+ <li>
+ <p>The <var title="">field</var> element is <var
+ title="">submitter</var>, and before this algorithm was invoked the
+ user <a href="#selected"
+ title=concept-input-type-image-coordinate>indicated a
+ coordinate</a>. 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.
+
+ <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>.
+
+ <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>.
+
+ <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.
+ </ol>
+
+ <li>
+ <p>If the <var title="">field</var> element does not have a <code
+ title=attr-fe-name><a href="#name9">name</a></code> attribute
+ specified, or its <code title=attr-fe-name><a
+ href="#name9">name</a></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.
+
+ <li>
+ <p>Let <var title="">name</var> be the value of the <var
+ title="">field</var> element's <code title=attr-fe-name><a
+ href="#name9">name</a></code> attribute.
+
+ <li>
+ <p>If the <var title="">field</var> element is a <code><a
+ href="#select">select</a></code> element, then for each <code><a
+ href="#option">option</a></code> element in the <code><a
+ href="#select">select</a></code> element that is <a href="#selected1"
+ title=concept-option-selected>selected</a>, append an entry in the
+ <var title="">form data set</var> with the <var title="">name</var> as
+ the name and the <a href="#value7"
+ title=concept-option-value>value</a> of the <code><a
+ href="#option">option</a></code> element as the value.
+
+ <li>
+ <p>Otherwise, if the <var title="">field</var> element is an <code><a
+ href="#input0">input</a></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 <a href="#selected0"
+ title=concept-input-type-file-selected>selected</a> in the <code><a
+ href="#input0">input</a></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.)
+
+ <li>
+ <p>Otherwise, append an entry in the <var title="">form data set</var>
+ with <var title="">name</var> as the name and the <a href="#value8"
+ title=concept-fe-value>value</a> of the <var title="">field</var>
+ element as the value.
</ol>
<li>
View
120 source
@@ -24140,6 +24140,9 @@ function AddCloud(data, x, y) { ... }</pre>
<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>
@@ -24364,6 +24367,10 @@ interface <dfn>HTMLOptionElement</dfn> : <span>HTMLElement</span> {
<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,6 +24594,8 @@ interface <dfn>HTMLOptionElement</dfn> : <span>HTMLElement</span> {
<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>
@@ -24631,11 +24640,11 @@ interface <dfn>HTMLOptionElement</dfn> : <span>HTMLElement</span> {
<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 @@ interface <dfn>HTMLOptionElement</dfn> : <span>HTMLElement</span> {
<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,9 +24687,102 @@ interface <dfn>HTMLOptionElement</dfn> : <span>HTMLElement</span> {
</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>

0 comments on commit 9e62457

Please sign in to comment.