是否需要HTML用户代理以特定顺序提交表单数据?

是否需要HTML用户代理以特定顺序提交表单数据?,第1张

概述对于给定的 HTML表单,是否需要以特定顺序构建提交请求的用户代理? 我正在查看HTML 4.0.1规范,它似乎没有指定“成功控件”成为提交请求的一部分的顺序. Section 17.13.3,处理表单数据,状态: When the user submits a form (e.g., by activating a submit button), the user agent processes 对于给定的 HTML表单,是否需要以特定顺序构建提交请求的用户代理?

我正在查看HTML 4.0.1规范,它似乎没有指定“成功控件”成为提交请求的一部分的顺序. Section 17.13.3,处理表单数据,状态:

When the user submits a form (e.g.,by activating a submit button),the user agent processes it as follows.

Step one: IDentify the 07001

Step two: Build a form data set

A form data set is a sequence of 07002/07003 pairs constructed from successful controls

Step three: Encode the form data set

The form data set is then encoded according to the content type specifIEd by the enctype attribute of the FORM element.

Step four: submit the encoded form data set

在步骤2,表单数据集被描述为序列,因此在步骤3中对其进行编码的顺序可能是固定的.但是,这引出了成功控件的顺序在表单数据集中的问题.

例如,给定以下HTML表单:

<form action="#" method="GET"><input type="hIDden" name="key1" value="value1" /><div>    <div>        <input type="hIDden" name="key2" value="value2" />    </div>    <input type="hIDden" name="key3" value="value3" />    <input type="submit" name="submit" value="submit" /></div><input type="hIDden" name="key5" value="value5" /></form>

表格数据集可以吗?

[ ("key1","value1"),("key2","value2"),("key3","value3"),("submit","submit"),("key5","value5") ]

(即,DOM的深度优先搜索);要么

[ ("key1","value5"),"value2") ]

(广度优先搜索);或者甚至是通过在随机哈希表中迭代控制名/当前值对而产生的非确定性顺序?

使用IE 9和firefox 9.0.1测试此表单时,似乎都使用深度优先搜索顺序.也许其他浏览器是不同的.问题是这个订单是否在某处规定.

解决方法 如果继续第 17.13.4 of the HTML spec节,则表明默认内容类型为application / x-www-form-urlencoded.该内容类型的部分说:

The control names/values are Listed in the order they appear in the document.

这将建议深度优先遍历,并且似乎同意您的浏览器测试.

总结

以上是内存溢出为你收集整理的是否需要HTML用户代理以特定顺序提交表单数据?全部内容,希望文章能够帮你解决是否需要HTML用户代理以特定顺序提交表单数据?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1067236.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存