Permalink
Browse files

[] (0) WF2: Begin to define how to handle enctype, action, method, an…

…d target attributes.

git-svn-id: http://svn.whatwg.org/webapps@2165 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information...
1 parent 9e62457 commit 0ec99b7f0add6fd6be7f1149f5d940fc396ed316 @Hixie Hixie committed Sep 12, 2008
Showing with 511 additions and 49 deletions.
  1. +304 −42 index
  2. +207 −7 source
View
346 index
@@ -29,7 +29,7 @@
<h1 id=html-5>HTML 5</h1>
- <h2 class="no-num no-toc" id=draft>Draft Recommendation &mdash; 11
+ <h2 class="no-num no-toc" id=draft>Draft Recommendation &mdash; 12
September 2008</h2>
<p>You can take part in this work. <a
@@ -1063,10 +1063,13 @@
<li><a href="#attributes1"><span class=secno>4.9.13 </span>Attributes
common to form controls</a>
- <li><a href="#constraint"><span class=secno>4.9.14 </span>Constraint
+ <li><a href="#attributes2"><span class=secno>4.9.14 </span>Attributes
+ for form submission</a>
+
+ <li><a href="#constraint"><span class=secno>4.9.15 </span>Constraint
validation</a>
- <li><a href="#form-submission"><span class=secno>4.9.15 </span>Form
+ <li><a href="#form-submission"><span class=secno>4.9.16 </span>Form
submission</a>
</ul>
@@ -1856,7 +1859,7 @@
<li><a href="#end-tags"><span class=secno>8.1.2.2. </span>End
tags</a>
- <li><a href="#attributes2"><span class=secno>8.1.2.3.
+ <li><a href="#attributes3"><span class=secno>8.1.2.3.
</span>Attributes</a>
<li><a href="#optional"><span class=secno>8.1.2.4. </span>Optional
@@ -13085,7 +13088,7 @@ first matching case):&lt;/p&gt;
<dd><code title=attr-hyperlink-href><a href="#href6">href</a></code>
- <dd><code title=attr-hyperlink-target><a href="#target3">target</a></code>
+ <dd><code title=attr-hyperlink-target><a href="#target6">target</a></code>
<dd><code title=attr-hyperlink-ping><a href="#ping">ping</a></code>
@@ -13127,7 +13130,7 @@ first matching case):&lt;/p&gt;
placed, if it had been relevant.
<p>The <code title=attr-hyperlink-target><a
- href="#target3">target</a></code>, <code title=attr-hyperlink-ping><a
+ href="#target6">target</a></code>, <code title=attr-hyperlink-ping><a
href="#ping">ping</a></code>, <code title=attr-hyperlink-rel><a
href="#rel3">rel</a></code>, <code title=attr-hyperlink-media><a
href="#media14">media</a></code>, <code title=attr-hyperlink-hreflang><a
@@ -13155,7 +13158,7 @@ first matching case):&lt;/p&gt;
title="following hyperlinks">follow hyperlinks</a> created using the
<code><a href="#a">a</a></code> element. The <code
title=attr-hyperlink-href><a href="#href6">href</a></code>, <code
- title=attr-hyperlink-target><a href="#target3">target</a></code> and <code
+ title=attr-hyperlink-target><a href="#target6">target</a></code> and <code
title=attr-hyperlink-ping><a href="#ping">ping</a></code> attributes
decide how the link is followed. The <code title=attr-hyperlink-rel><a
href="#rel3">rel</a></code>, <code title=attr-hyperlink-media><a
@@ -13176,7 +13179,7 @@ first matching case):&lt;/p&gt;
a <code title=dom-click><a href="#click1">click()</a></code> method call
was the reason for the event being dispatched), and the <code><a
href="#a">a</a></code> element's <code title=attr-hyperlink-target><a
- href="#target3">target</a></code> attribute is <span
+ href="#target6">target</a></code> attribute is <span
class=big-issue>...</span> then raise an <code>INVALID_ACCESS_ERR</code>
exception and abort these steps.
@@ -17337,7 +17340,7 @@ href="?audio">audio&lt;/a> test instead.)&lt;/p></pre>
<p>This flag also <a href="#sandboxWindowOpen">prevents content from
creating new auxiliary browsing contexts</a>, e.g. using the <code
- title=attr-hyperlink-target><a href="#target3">target</a></code>
+ title=attr-hyperlink-target><a href="#target6">target</a></code>
attribute or the <code title=dom-open><a
href="#open2">window.open()</a></code> method.</p>
@@ -24007,7 +24010,7 @@ function AddCloud(data, x, y) { ... }</pre>
<dd><code title=attr-hyperlink-href><a href="#href6">href</a></code>
- <dd><code title=attr-hyperlink-target><a href="#target3">target</a></code>
+ <dd><code title=attr-hyperlink-target><a href="#target6">target</a></code>
<dd><code title=attr-hyperlink-ping><a href="#ping">ping</a></code>
@@ -24188,7 +24191,7 @@ function AddCloud(data, x, y) { ... }</pre>
hyperlinks">follow hyperlinks</a> created using the <code><a
href="#area">area</a></code> element, as described in the next section,
the <code title=attr-hyperlink-href><a href="#href6">href</a></code>,
- <code title=attr-hyperlink-target><a href="#target3">target</a></code> and
+ <code title=attr-hyperlink-target><a href="#target6">target</a></code> and
<code title=attr-hyperlink-ping><a href="#ping">ping</a></code> attributes
decide how the link is followed. The <code title=attr-hyperlink-rel><a
href="#rel3">rel</a></code>, <code title=attr-hyperlink-media><a
@@ -24199,7 +24202,7 @@ function AddCloud(data, x, y) { ... }</pre>
before the user follows the link.
<p>The <code title=attr-hyperlink-target><a
- href="#target3">target</a></code>, <code title=attr-hyperlink-ping><a
+ href="#target6">target</a></code>, <code title=attr-hyperlink-ping><a
href="#ping">ping</a></code>, <code title=attr-hyperlink-rel><a
href="#rel3">rel</a></code>, <code title=attr-hyperlink-media><a
href="#media14">media</a></code>, <code title=attr-hyperlink-hreflang><a
@@ -27427,11 +27430,60 @@ interface <dfn id=htmloptionelement>HTMLOptionElement</dfn> : <a href="#htmlelem
<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>
+ <h4 id=attributes2><span class=secno>4.9.14 </span>Attributes for form
+ submission</h4>
+
+ <p class=big-issue>... <dfn id=action title=attr-fs-action>action</dfn>
+ content attribute
+
+ <p class=big-issue>... <dfn id=action0 title=dom-fs-action>action</dfn> DOM
+ attribute
+
+ <p class=big-issue>... <dfn id=action1 title=concept-fs-action>action</dfn>
+ if present else form's else default
+
+ <p class=big-issue>... <dfn id=method title=attr-fs-method>method</dfn>
+ content attribute
+
+ <p class=big-issue>... <dfn id=method0 title=dom-fs-method>method</dfn> DOM
+ attribute
+
+ <p class=big-issue>... <dfn id=method1 title=concept-fs-method>method</dfn>
+ if present else form's else default
+
+ <p class=big-issue>... <dfn id=enctype title=attr-fs-enctype>enctype</dfn>
+ content attribute
+
+ <p class=big-issue>... <dfn id=enctype0 title=dom-fs-enctype>enctype</dfn>
+ DOM attribute
+
+ <p class=big-issue>... <dfn id=enctype1
+ title=concept-fs-enctype>enctype</dfn> if present else form's else default
+
+ <p class=big-issue>... <dfn id=target3 title=attr-fs-target>target</dfn>
+ content attribute
+
+ <p class=big-issue>... <dfn id=target4 title=dom-fs-target>target</dfn> DOM
+ attribute
+
+ <p class=big-issue>... <dfn id=target5 title=concept-fs-target>target</dfn>
+ if present else form's else base target else default</p>
+ <!-- c.f. hyperlink following -->
+
+ <p>Attributes for form submission can be specified both on <code><a
+ href="#form">form</a></code> elements and on elements that represent
+ buttons that submit forms, e.g. 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-submit-state>Submit Button</span> state. The
+ attributes on the buttons, when omitted, default to the values given on
+ the corresponding the <code><a href="#form">form</a></code> element.
+
+ <h4 id=constraint><span class=secno>4.9.15 </span>Constraint validation</h4>
<p class=big-issue>...
- <h4 id=form-submission><span class=secno>4.9.15 </span>Form submission</h4>
+ <h4 id=form-submission><span class=secno>4.9.16 </span>Form submission</h4>
<p>When a form <var title="">form</var> is <dfn id=submitted
title=concept-form-submit>submitted</dfn> from an element <var
@@ -27617,7 +27669,216 @@ interface <dfn id=htmloptionelement>HTMLOptionElement</dfn> : <a href="#htmlelem
</ol>
<li>
+ <p>Let <var title="">action</var> be the <var title="">submitter</var>
+ element's <a href="#action1" title=concept-fs-action>action</a>.
+
+ <li>
+ <p><a href="#resolve" title="resolve a url">Resolve</a> the <a
+ href="#url">URL</a> <var title="">action</var>. If this fails, abort
+ these steps.
+
+ <li>
+ <p>Let <var title="">scheme</var> be the <a href="#ltschemegt"
+ title=url-scheme>&lt;scheme&gt;</a> of the resulting <a
+ href="#absolute">absolute URL</a>.
+
+ <li>
+ <p>Let <var title="">enctype</var> be the <var title="">submitter</var>
+ element's <a href="#enctype1" title=concept-fs-enctype>enctype</a>.
+
+ <li>
+ <p>Let <var title="">method</var> be the <var title="">submitter</var>
+ element's <a href="#method1" title=concept-fs-method>method</a>.
+
+ <li>
+ <p>Let <var title="">target</var> be the <var title="">submitter</var>
+ element's <a href="#target5" title=concept-fs-target>target</a>.
+
+ <li>
+ <p>Select the appropriate row in the table below based on the value of
+ <var title="">scheme</var> as given by the first cell of each row. Then,
+ select the appropriate cell on that row based on the value of <var
+ title="">method</var> as given in the first cell of each column. Then,
+ jump to the steps named in that cell and defined below the table.</p>
+
+ <table>
+ <tbody>
+ <tr>
+ <td>
+
+ <th> GET
+
+ <th> POST
+
+ <th> PUT
+
+ <th> DELETE
+
+ <tr>
+ <th> <code title="">http</code>
+
+ <td> <a href="#mutate" title=submit-mutate-action>Mutate action</a>
+
+ <td> <a href="#submit" title=submit-body>Submit as entity body</a>
+
+ <td> <a href="#submit" title=submit-body>Submit as entity body</a>
+
+ <td> <a href="#delete" title=submit-delete-action>Delete action</a>
+
+ <tr>
+ <th> <code title="">https</code>
+
+ <td> <a href="#mutate" title=submit-mutate-action>Mutate action</a>
+
+ <td> <a href="#submit" title=submit-body>Submit as entity body</a>
+
+ <td> <a href="#submit" title=submit-body>Submit as entity body</a>
+
+ <td> <a href="#delete" title=submit-delete-action>Delete action</a>
+
+ <tr>
+ <th> <code title="">ftp</code>
+
+ <td> <a href="#get-action" title=submit-get-action>Get action</a>
+
+ <td> <a href="#get-action" title=submit-get-action>Get action</a>
+
+ <td> <a href="#get-action" title=submit-get-action>Get action</a>
+
+ <td> <a href="#get-action" title=submit-get-action>Get action</a>
+
+ <tr>
+ <th> <code title="">javascript</code>
+
+ <td> <a href="#get-action" title=submit-get-action>Get action</a>
+
+ <td> <a href="#get-action" title=submit-get-action>Get action</a>
+
+ <td> <a href="#get-action" title=submit-get-action>Get action</a>
+
+ <td> <a href="#get-action" title=submit-get-action>Get action</a>
+
+ <tr>
+ <th> <code title="">data</code>
+
+ <td> <a href="#get-action" title=submit-get-action>Get action</a>
+
+ <td> <a href="#post-to" title=submit-data-post>Post to data:</a>
+
+ <td> <a href="#put-to" title=submit-data-put>Put to data:</a>
+
+ <td> <a href="#get-action" title=submit-get-action>Get action</a>
+
+ <tr>
+ <th> <code title="">mailto</code>
+
+ <td> <a href="#mail-with" title=submit-mailto-headers>Mail with
+ headers</a>
+
+ <td> <a href="#mail-as" title=submit-mailto-body>Mail as body</a>
+
+ <td> <a href="#mail-with" title=submit-mailto-headers>Mail with
+ headers</a>
+
+ <td> <a href="#mail-with" title=submit-mailto-headers>Mail with
+ headers</a>
+ </table>
+
+ <p>If <var title="">scheme</var> is not one of those listed in this
+ table, then the behavior is not defined by this specification. User
+ agents should, in the absence of another specification defining this,
+ act in a manner analogous to that defined in this specification for
+ similar schemes.</p>
+
+ <p>The behaviors are as follows:</p>
+
+ <dl class=switch>
+ <dt><dfn id=mutate title=submit-mutate-action>Mutate action</dfn>
+
+ <dd>
+ <p>Let <var title="">query</var> be the resulting encoding the <var
+ title="">form data set</var> using the <a
+ href="#applicationx-www-form-urlencoded"><code
+ title="">application/x-www-form-urlencoded</code> encoding
+ algorithm</a>.</p>
+
+ <p>Let <var title="">destination</var> be a new <a href="#url">URL</a>
+ that is equal to the <var title="">action</var> except that its <a
+ href="#ltquerygt" title=url-query>&lt;query&gt;</a> component is
+ replaced by <var title="">query</var> (adding a U+003F QUESTION MARK
+ (?) character if appropriate).</p>
+
+ <p>If the user indicated a specific <a href="#browsing1">browsing
+ context</a> to use when submitting the form, then let <var
+ title="">target browsing context</var> be that <a
+ href="#browsing1">browsing context</a>.</p>
+
+ <p>Otherwise, apply <a href="#the-rules">the rules for choosing a
+ browsing context given a browsing context name</a> using <var
+ title="">target</var> as the name and the <a
+ href="#browsing1">browsing context</a> of <var title="">form</var> as
+ the context in which the algorithm is executed, and let <var
+ title="">target browsing context</var> be the resulting <a
+ href="#browsing1">browsing context</a>.</p>
+
+ <p><a href="#navigate">Navigate</a> <var title="">target browsing
+ context</var> to <var title="">destination</var>. If <var
+ title="">target browsing context</var> was newly created for this
+ purpose by the steps above, then it must be navigated with <a
+ href="#replacement">replacement enabled</a>.</p>
+
+ <dt><dfn id=submit title=submit-body>Submit as entity body</dfn>
+
+ <dd>
+ <p class=big-issue>...
+
+ <dt><dfn id=delete title=submit-delete-action>Delete action</dfn>
+
+ <dd>
+ <p class=big-issue>...
+
+ <dt><dfn id=get-action title=submit-get-action>Get action</dfn>
+
+ <dd>
+ <p class=big-issue>...
+
+ <dt><dfn id=post-to title=submit-data-post>Post to data:</dfn>
+
+ <dd>
+ <p class=big-issue>...
+
+ <dt><dfn id=put-to title=submit-data-put>Put to data:</dfn>
+
+ <dd>
+ <p class=big-issue>...
+
+ <dt><dfn id=mail-with title=submit-mailto-headers>Mail with
+ headers</dfn>
+
+ <dd>
+ <p class=big-issue>...
+
+ <dt><dfn id=mail-as title=submit-mailto-body>Mail as body</dfn>
+
+ <dd>
+ <p class=big-issue>...
+ </dl>
+
+ <li>
+ <p class=big-issue>...
+ </ol>
+
+ <p>The <dfn id=applicationx-www-form-urlencoded><code
+ title="">application/x-www-form-urlencoded</code> encoding algorithm</dfn>
+ is as follows:
+
+ <ol>
+ <li>
<p class=big-issue>...
+ </li>
+ <!-- During this step, the form data set is examined to ensure all
+ the characters are representable in the submission character
+ encoding. -->
</ol>
<h3 id=scripting1><span class=secno>4.10 </span>Scripting</h3>
@@ -31402,7 +31663,7 @@ menu li:not(:first-child)::before { content: ' | '; }</pre>
<p>If the user selects a menu item that represents a <span
title=concept-commands>command</span>, then the UA must invoke that
- command's <a href="#action" title=command-facet-Action>Action</a>.
+ command's <a href="#action2" title=command-facet-Action>Action</a>.
<p>Context menus must not, while being shown, reflect changes in the DOM;
they are constructed as the default action of the <code
@@ -31495,7 +31756,7 @@ menu li:not(:first-child)::before { content: ' | '; }</pre>
<dd>Whether the command is checked or not.
- <dt><dfn id=action title=command-facet-Action>Action</dfn>
+ <dt><dfn id=action2 title=command-facet-Action>Action</dfn>
<dd>The actual effect that triggering the command will have. This could be
a scripted event handler, a <a href="#url">URL</a> to which to <a
@@ -31623,7 +31884,7 @@ menu li:not(:first-child)::before { content: ' | '; }</pre>
href="#command0">command</a></code> elements.
<p>The <dfn id=click0 title=dom-command-ro-click><code>click()</code></dfn>
- method must trigger the <a href="#action"
+ method must trigger the <a href="#action2"
title=command-facet-Action>Action</a> for the command. If the element does
not define a command, this method must do nothing. This method will be
shadowed by the <code title=dom-click><a href="#click1">click()</a></code>
@@ -31697,7 +31958,7 @@ menu li:not(:first-child)::before { content: ' | '; }</pre>
<p>The <a href="#checked3" title=command-facet-CheckedState>Checked
State</a> of the command is always false. (The command is never checked.)
- <p>The <a href="#action" title=command-facet-Action>Action</a> of the
+ <p>The <a href="#action2" title=command-facet-Action>Action</a> of the
command is to <a href="#firing" title="fire a click event">fire a <code
title="">click</code> event</a> at the element.
@@ -31714,7 +31975,7 @@ menu li:not(:first-child)::before { content: ' | '; }</pre>
title=command-facet-Hint>Hint</a>, <a href="#icon1"
title=command-facet-Icon>Icon</a>, <a href="#hidden"
title=command-facet-HiddenState>Hidden State</a>, <a href="#checked3"
- title=command-facet-CheckedState>Checked State</a>, and <a href="#action"
+ title=command-facet-CheckedState>Checked State</a>, and <a href="#action2"
title=command-facet-Action>Action</a> facets of the command are determined
<a href="#using5" title=a-command>as for <code>a</code> elements</a> (see
the previous section).
@@ -31796,7 +32057,7 @@ menu li:not(:first-child)::before { content: ' | '; }</pre>
has a <code title=attr-input-checked>checked</code> attribute, and false
otherwise.
- <p>The <a href="#action" title=command-facet-Action>Action</a> of the
+ <p>The <a href="#action2" title=command-facet-Action>Action</a> of the
command is to <a href="#firing" title="fire a click event">fire a <code
title="">click</code> event</a> at the element.</p>
<!-- XXX this
@@ -31853,7 +32114,7 @@ menu li:not(:first-child)::before { content: ' | '; }</pre>
title=dom-option-selected>selected</code> DOM attribute is true, and false
otherwise.
- <p>The <a href="#action" title=command-facet-Action>Action</a> of the
+ <p>The <a href="#action2" title=command-facet-Action>Action</a> of the
command depends on its <a href="#type19"
title=command-facet-Type>Type</a>. If the command is of <a href="#type19"
title=command-facet-Type>Type</a> "radio" then this must set the <code
@@ -31917,7 +32178,7 @@ menu li:not(:first-child)::before { content: ' | '; }</pre>
title=attr-command-checked><a href="#checked1">checked</a></code>
attribute, and false otherwise.
- <p>The <a href="#action" title=command-facet-Action>Action</a> of the
+ <p>The <a href="#action2" title=command-facet-Action>Action</a> of the
command is to invoke the behavior described in the definition of the <code
title=dom-command-click><a href="#click">click()</a></code> method of the
<code><a href="#htmlcommandelement">HTMLCommandElement</a></code>
@@ -31983,7 +32244,7 @@ menu li:not(:first-child)::before { content: ' | '; }</pre>
<p>The <a href="#checked3" title=command-facet-CheckedState>Checked
State</a> of the command is always false. (The command is never checked.)
- <p>The <a href="#action" title=command-facet-Action>Action</a> of the
+ <p>The <a href="#action2" title=command-facet-Action>Action</a> of the
command is to perform the <i>action</i> of the <code><a
href="#bb">bb</a></code> element's <code title=attr-bb-type><a
href="#type15">type</a></code> attribute's state.
@@ -39821,7 +40082,7 @@ interface <dfn id=sqlstatementerrorcallback>SQLStatementErrorCallback</dfn> {
element.</p>
</div>
- <p>The <dfn id=target3
+ <p>The <dfn id=target6
title=attr-hyperlink-target><code>target</code></dfn> attribute, if
present, must be a <a href="#valid10">valid browsing context name or
keyword</a>. User agents use this name when <a
@@ -39884,22 +40145,23 @@ interface <dfn id=sqlstatementerrorcallback>SQLStatementErrorCallback</dfn> {
hyperlink must further have its <var><a href="#hyperlink2">hyperlink
suffix</a></var> appended to it.
- <p>If the user indicated a specific browsing context when following the
- hyperlink, or if the user agent is configured to follow hyperlinks by
- navigating a particular browsing context, then that must be the browsing
- context that is navigated.
+ <p>If the user indicated a specific <a href="#browsing1">browsing
+ context</a> when following the hyperlink, or if the user agent is
+ configured to follow hyperlinks by navigating a particular browsing
+ context, then that must be the <a href="#browsing1">browsing context</a>
+ that is navigated.
<p>Otherwise, if the hyperlink element is an <code><a
href="#a">a</a></code> or <code><a href="#area">area</a></code> element
that has a <code title=attr-hyperlink-target><a
- href="#target3">target</a></code> attribute, then the browsing context
- that is navigated must be chosen by applying <a href="#the-rules">the
- rules for choosing a browsing context given a browsing context name</a>,
- using the value of the <code title=attr-hyperlink-target><a
- href="#target3">target</a></code> attribute as the browsing context name.
- If these rules result in the creation of a new <a
- href="#browsing1">browsing context</a>, it must be navigated with <a
- href="#replacement">replacement enabled</a>.
+ href="#target6">target</a></code> attribute, then the <a
+ href="#browsing1">browsing context</a> that is navigated must be chosen by
+ applying <a href="#the-rules">the rules for choosing a browsing context
+ given a browsing context name</a>, using the value of the <code
+ title=attr-hyperlink-target><a href="#target6">target</a></code> attribute
+ as the browsing context name. If these rules result in the creation of a
+ new <a href="#browsing1">browsing context</a>, it must be navigated with
+ <a href="#replacement">replacement enabled</a>.
<p>Otherwise, if the hyperlink element is a <a href="#sidebar0"
title=rel-sidebar-hyperlink>sidebar hyperlink</a> and the user agent
@@ -39910,7 +40172,7 @@ interface <dfn id=sqlstatementerrorcallback>SQLStatementErrorCallback</dfn> {
<p>Otherwise, if the hyperlink element is an <code><a
href="#a">a</a></code> or <code><a href="#area">area</a></code> element
with no <code title=attr-hyperlink-target><a
- href="#target3">target</a></code> attribute, but one of the child nodes of
+ href="#target6">target</a></code> attribute, but one of the child nodes of
<a href="#the-head0">the <code>head</code> element</a> is a <code><a
href="#base">base</a></code> element with a <code
title=attr-base-target><a href="#target">target</a></code> attribute, then
@@ -43793,7 +44055,7 @@ http://developer.apple.com/documentation/AppleApplications/Conceptual/SafariJSPr
<dd><strong>Value:</strong> Always the string "<code
title="">false</code>".
- <dt><dfn id=delete title=command-delete><code>delete</code></dfn>
+ <dt><dfn id=delete0 title=command-delete><code>delete</code></dfn>
<dd><strong>Action:</strong> The user agent must act as if the user had
performed <a href="#contenteditable-delete">a backspace operation</a>.
@@ -46671,13 +46933,13 @@ interface <dfn id=messagechannel>MessageChannel</dfn> {
characters</a>.
<li>Then, the start tag may have a number of attributes, the <a
- href="#attributes3" title=syntax-attributes>syntax for which</a> is
+ href="#attributes4" title=syntax-attributes>syntax for which</a> is
described below. Attributes may be separated from each other by one or
more <a href="#space" title="space character">space characters</a>.
<li>After the attributes, there may be one or more <a href="#space"
title="space character">space characters</a>. (Some attributes are
- required to be followed by a space. See the <a href="#attributes3"
+ required to be followed by a space. See the <a href="#attributes4"
title=syntax-attributes>attributes section</a> below.)
<li>Then, if the element is one of the <a href="#void-elements">void
@@ -46712,9 +46974,9 @@ interface <dfn id=messagechannel>MessageChannel</dfn> {
(<code>&gt;</code>) character.
</ol>
- <h5 id=attributes2><span class=secno>8.1.2.3. </span>Attributes</h5>
+ <h5 id=attributes3><span class=secno>8.1.2.3. </span>Attributes</h5>
- <p><dfn id=attributes3 title=syntax-attributes>Attributes</dfn> for an
+ <p><dfn id=attributes4 title=syntax-attributes>Attributes</dfn> for an
element are expressed inside the element's start tag.
<p>Attributes have a name and a value. <dfn id=attribute3
View
214 source
@@ -24597,6 +24597,42 @@ interface <dfn>HTMLOptionElement</dfn> : <span>HTMLElement</span> {
<p class="big-issue">... <dfn title="concept-fe-value">value</dfn></p>
+ <h4>Attributes for form submission</h4>
+
+ <p class="big-issue">... <dfn title="attr-fs-action">action</dfn> content attribute</p>
+
+ <p class="big-issue">... <dfn title="dom-fs-action">action</dfn> DOM attribute</p>
+
+ <p class="big-issue">... <dfn title="concept-fs-action">action</dfn> if present else form's else default</p>
+
+ <p class="big-issue">... <dfn title="attr-fs-method">method</dfn> content attribute</p>
+
+ <p class="big-issue">... <dfn title="dom-fs-method">method</dfn> DOM attribute</p>
+
+ <p class="big-issue">... <dfn title="concept-fs-method">method</dfn> if present else form's else default</p>
+
+ <p class="big-issue">... <dfn title="attr-fs-enctype">enctype</dfn> content attribute</p>
+
+ <p class="big-issue">... <dfn title="dom-fs-enctype">enctype</dfn> DOM attribute</p>
+
+ <p class="big-issue">... <dfn title="concept-fs-enctype">enctype</dfn> if present else form's else default</p>
+
+ <p class="big-issue">... <dfn title="attr-fs-target">target</dfn> content attribute</p>
+
+ <p class="big-issue">... <dfn title="dom-fs-target">target</dfn> DOM attribute</p>
+
+ <p class="big-issue">... <dfn title="concept-fs-target">target</dfn> if present else form's else base target else default</p> <!-- c.f. hyperlink following -->
+
+ <p>Attributes for form submission can be specified both on
+ <code>form</code> elements and on elements that represent buttons
+ that submit forms, e.g. an <code>input</code> element whose <code
+ title="attr-input-type">type</code> attribute is in the <span
+ title="attr-input-type-submit-state">Submit Button</span> state. The
+ attributes on the buttons, when omitted, default to the values given
+ on the corresponding the <code>form</code> element.</p>
+
+
+
<h4>Constraint validation</h4>
<p class="big-issue">...</p>
@@ -24788,12 +24824,175 @@ interface <dfn>HTMLOptionElement</dfn> : <span>HTMLElement</span> {
</li>
+ <li><p>Let <var title="">action</var> be the <var
+ title="">submitter</var> element's <span
+ title="concept-fs-action">action</span>.</p></li>
+
+ <li><p><span title="resolve a url">Resolve</span> the
+ <span>URL</span> <var title="">action</var>. If this fails, abort
+ these steps.</p></li>
+
+ <li><p>Let <var title="">scheme</var> be the <span
+ title="url-scheme">&lt;scheme&gt;</span> of the resulting
+ <span>absolute URL</span>.</p></li>
+
+ <li><p>Let <var title="">enctype</var> be the <var
+ title="">submitter</var> element's <span
+ title="concept-fs-enctype">enctype</span>.</p></li>
+
+ <li><p>Let <var title="">method</var> be the <var
+ title="">submitter</var> element's <span
+ title="concept-fs-method">method</span>.</p></li>
+
+ <li><p>Let <var title="">target</var> be the <var
+ title="">submitter</var> element's <span
+ title="concept-fs-target">target</span>.</p></li>
+
+ <li>
+
+ <p>Select the appropriate row in the table below based on the
+ value of <var title="">scheme</var> as given by the first cell of
+ each row. Then, select the appropriate cell on that row based on
+ the value of <var title="">method</var> as given in the first cell
+ of each column. Then, jump to the steps named in that cell and
+ defined below the table.</p>
+
+ <table>
+ <tr>
+ <td>
+ <th> GET
+ <th> POST
+ <th> PUT
+ <th> DELETE
+ <tr>
+ <th> <code title="">http</code>
+ <td> <span title="submit-mutate-action">Mutate action</span>
+ <td> <span title="submit-body">Submit as entity body</span>
+ <td> <span title="submit-body">Submit as entity body</span>
+ <td> <span title="submit-delete-action">Delete action</span>
+ <tr>
+ <th> <code title="">https</code>
+ <td> <span title="submit-mutate-action">Mutate action</span>
+ <td> <span title="submit-body">Submit as entity body</span>
+ <td> <span title="submit-body">Submit as entity body</span>
+ <td> <span title="submit-delete-action">Delete action</span>
+ <tr>
+ <th> <code title="">ftp</code>
+ <td> <span title="submit-get-action">Get action</span>
+ <td> <span title="submit-get-action">Get action</span>
+ <td> <span title="submit-get-action">Get action</span>
+ <td> <span title="submit-get-action">Get action</span>
+ <tr>
+ <th> <code title="">javascript</code>
+ <td> <span title="submit-get-action">Get action</span>
+ <td> <span title="submit-get-action">Get action</span>
+ <td> <span title="submit-get-action">Get action</span>
+ <td> <span title="submit-get-action">Get action</span>
+ <tr>
+ <th> <code title="">data</code>
+ <td> <span title="submit-get-action">Get action</span>
+ <td> <span title="submit-data-post">Post to data:</span>
+ <td> <span title="submit-data-put">Put to data:</span>
+ <td> <span title="submit-get-action">Get action</span>
+ <tr>
+ <th> <code title="">mailto</code>
+ <td> <span title="submit-mailto-headers">Mail with headers</span>
+ <td> <span title="submit-mailto-body">Mail as body</span>
+ <td> <span title="submit-mailto-headers">Mail with headers</span>
+ <td> <span title="submit-mailto-headers">Mail with headers</span>
+ </table>
+
+ <p>If <var title="">scheme</var> is not one of those listed in
+ this table, then the behavior is not defined by this
+ specification. User agents should, in the absence of another
+ specification defining this, act in a manner analogous to that
+ defined in this specification for similar schemes.</p>
+
+ <p>The behaviors are as follows:</p>
+
+ <dl class="switch">
+
+ <dt><dfn title="submit-mutate-action">Mutate action</dfn>
+ <dd>
+
+ <p>Let <var title="">query</var> be the resulting encoding the
+ <var title="">form data set</var> using the <span><code
+ title="">application/x-www-form-urlencoded</code> encoding
+ algorithm</span>.</p>
+
+ <p>Let <var title="">destination</var> be a new <span>URL</span>
+ that is equal to the <var title="">action</var> except that its
+ <span title="url-query">&lt;query&gt;</span> component is
+ replaced by <var title="">query</var> (adding a U+003F QUESTION
+ MARK (?) character if appropriate).</p>
+
+ <p>If the user indicated a specific <span>browsing
+ context</span> to use when submitting the form, then let <var
+ title="">target browsing context</var> be that <span>browsing
+ context</span>.</p>
+
+ <p>Otherwise, apply <span>the rules for choosing a browsing
+ context given a browsing context name</span> using <var
+ title="">target</var> as the name and the <span>browsing
+ context</span> of <var title="">form</var> as the context in
+ which the algorithm is executed, and let <var title="">target
+ browsing context</var> be the resulting <span>browsing
+ context</span>.</p>
+
+ <p><span>Navigate</span> <var title="">target browsing
+ context</var> to <var title="">destination</var>. If <var
+ title="">target browsing context</var> was newly created for
+ this purpose by the steps above, then it must be navigated with
+ <span>replacement enabled</span>.</p>
+
+ </dd>
+
+ <dt><dfn title="submit-body">Submit as entity body</dfn>
+ <dd><p class="big-issue">...</p></dd>
+
+ <dt><dfn title="submit-delete-action">Delete action</dfn>
+ <dd><p class="big-issue">...</p></dd>
+
+ <dt><dfn title="submit-get-action">Get action</dfn>
+ <dd><p class="big-issue">...</p></dd>
+
+ <dt><dfn title="submit-data-post">Post to data:</dfn>
+ <dd><p class="big-issue">...</p></dd>
+
+ <dt><dfn title="submit-data-put">Put to data:</dfn>
+ <dd><p class="big-issue">...</p></dd>
+
+ <dt><dfn title="submit-mailto-headers">Mail with headers</dfn>
+ <dd><p class="big-issue">...</p></dd>
+
+ <dt><dfn title="submit-mailto-body">Mail as body</dfn>
+ <dd><p class="big-issue">...</p></dd>
+
+ </dl>
+
+ </li>
+
+ <li><p class="big-issue">...</p></li>
+
+ </ol>
+
+ <p>The <dfn><code
+ title="">application/x-www-form-urlencoded</code> encoding
+ algorithm</dfn> is as follows:</p>
+
+ <ol>
+
<li><p class="big-issue">...</p></li>
+ <!-- During this step, the form data set is examined to ensure all
+ the characters are representable in the submission character
+ encoding. -->
+
</ol>
+
<h3>Scripting</h3>
<p>Scripts allow authors to add interactivity to their documents.</p>
@@ -37097,17 +37296,18 @@ interface <dfn>SQLStatementErrorCallback</dfn> {
hyperlink must further have its <var>hyperlink suffix</var> appended
to it.</p>
- <p>If the user indicated a specific browsing context when following
- the hyperlink, or if the user agent is configured to follow
- hyperlinks by navigating a particular browsing context, then that
- must be the browsing context that is navigated.</p>
+ <p>If the user indicated a specific <span>browsing context</span>
+ when following the hyperlink, or if the user agent is configured to
+ follow hyperlinks by navigating a particular browsing context, then
+ that must be the <span>browsing context</span> that is
+ navigated.</p>
<p>Otherwise, if the hyperlink element is an <code>a</code> or
<code>area</code> element that has a <code
title="attr-hyperlink-target">target</code> attribute, then the
- browsing context that is navigated must be chosen by applying
- <span>the rules for choosing a browsing context given a browsing
- context name</span>, using the value of the <code
+ <span>browsing context</span> that is navigated must be chosen by
+ applying <span>the rules for choosing a browsing context given a
+ browsing context name</span>, using the value of the <code
title="attr-hyperlink-target">target</code> attribute as the
browsing context name. If these rules result in the creation of a
new <span>browsing context</span>, it must be navigated with

0 comments on commit 0ec99b7

Please sign in to comment.