今天查看w3c document,关于表单提交中,什么样的表单控件被称作成功的控件,成功的控件被提交到服务器的时候是有效的。(针对于不同平台,浏览器)
当用asp.net服务器控件开发的时候,很少去关注一个表单是有效的,MS已经给你做好了标准封装,但当我们开发ajax应用程序的时候,我们需要对HTML,W3C做更多的了解。
成功的控件:表单元素的数据能够正确的返回到提交页面。
需要提交的表单元素一定要放在<form></form>内,这一条大家都知道。
成功的控件必须要包含一个控件名(name)和一个控件值(value),刚接触的HTML的人,也许对id和name属性的区别很迷惑,不知道有了id,name 还有多大作用。表单提交就是name作用的一个地方,表单被提交后,我们取的是name,而不是id作为变量名,所以一定要给表单元素添加name属性。
下面的情况都是提交数据要注意的情况
- 被设置成为disabled的表单元素,无法成功提交此元素数据。
- 如果有多个submit元素,按下回车,只有第一个submit有效。
- 所有默认为“on”的CheckBox,可能会成功,所以尽量给checkbox加上name和value.
- select元素提供name作为参数,内部的option提供value作为值,如果没有任何option被设置为selected,这个元素将没有数据提交。
- file元素要根据form content type打包,所以文件提交一定要表明content type.
- 通过样式display:none设置成为隐藏的元素,可能会被成功提交。