form详解

form
** form常用属性

  • action 指定请求的地址
  • method 请求方式,如果是post形式发出的,表单的输入值就会放在请求体中,并且会进行编码处理,编码的方式在请求头中的Content-Type来说明,这样当服务器收到请求后,就知道如何读取数据。默认是Content-Type: application/x-www-form-urlencoded.
  • enctype 这个属性是来设置编码方式,目前常用的是两种编码方式:application/x-www-form-urlencodedmultipart/form-data , 这二个规则的使用场景简单地说就是:后者在上传文件时使用,其它情形则使用前者(默认)。

** form中的成功控件

  • 什么是成功控件?
    浏览器不会将所有的表单控件全部发送到服务器的,而是会查找所有的成功控件。简单地来说,成功控件就是:每个表单中的控件都应该有一个name属性和”当前值“, 在提交时,它们将以 name=value 的形式做为提交数据的一部分。
  • 浏览器如果处理表单提交的成功控件
    1、识别所有成功控件
    2、为所有的成功控件创建一个数据集合,它们包含 control-name/current-value 这样的值对。
    3、按照form.enctype指定的编码规则对前面准备好的数据进行编码。编码规则将放在请求中,用【Content-Type】指出。
    4、提交编码后的数据。此时会区分post,get二种情况,提交的地址由form.action属性指定的。

** HTML5form的新属性

  • autocomplete 用于指示input元素是否能够拥有一个默认值,这个默认值是由浏览器自动补全。
  • novalidate 布尔属性 规定当提交表单时不对表单数据进行验证。
  • 除了form元素的新属性外,还惊奇的发现html5添加了一个form属性,使得表单在提交的时候不仅可以提交表单内的控件元素,在外的控件元素值也可以一并提交出去。类似于label标签与input用id来绑定。
posted @ 2017-07-04 11:41  罗Q  阅读(1405)  评论(0编辑  收藏  举报