form表单在提交时哪些数据是有效的

如题所述

在提交表单只有成功的control才是有效的。每个成功的control都有一对control name和current value 作为被提交的表单数据集的一部分存在。一个成功的control必须在form标签中定义并有control name。
但是:
有disabled属性的control是不成功的
如果一个表单有多个submit button,只有被点击的才是成功的
所有“on”状态的checkboxes都是成功的
对于拥有相同name属性的radio button,只有“on”状态的button才是成功的
对于menu,其name由select提供,value由option提供,只有选中option,menu才是成功的control。当没有选择任何option时,control是不成功的,也就是说在表单提交时不会menu的name和value不会被提交
file select的value是一个或一组文件名,在表单提交时,每个文件的内容也会作为表单数据提交到服务器,文件内容的打包形式由form的content type属性规定
一个对象的value是该对象的实现
在表单提交时若一个control没有value,用户代理不需要将其作为一个成功的control。
而且用户代理不应将以下control视为成功:
reset button
设置了declare属性的object标签
隐藏的control或由于样式表而不会被绘制的control也可能是成功的control。例如:
<FORM action="..." method="post">
<P>
<INPUT type="password" style="display:none"
name="invisible-password"
value="mypassword">
</FORM>
name为invisible-password,值为mypassword的control仍然会被提交。
(注:没有看完整的上下文,有些单词不知道是什么意思,但大概猜测这里的control应该就是一个html标签,而successful control的意思就是能会被提交到服务器的标签,name和value则都是标签中的属性)
温馨提示:答案为网友推荐,仅供参考