1

首先必须提到,html5对boolean类型的标签属性更倾向于使用html 4.01时代的传统段语法形式,即只有属性名而没有属性值,例如:

<input type="checkbox" checked />

html5有不少新的表单属性,仅列出一些比较重要的:

autocomplete

这个属性用来开启或关闭表单的“自动完成”功能(属性值为"on"表示开启,为"off"表示关闭),不填的话就看浏览器的默认值了。在我的经验中,往往更多是利用autocomplete="off"来关闭“自动完成”的,因为有一些跟安全相关的字段(例如账号、邮箱地址等),是不希望透露给第三者知道的。
autocomplete属性适用于 <form> 标签(相当于全局),以及以下类型的 <input> 标签:text, search, url, telephone, email, password, datepickers, range 以及 color。


autofocus

autofocus是boolean类型属性,用来默认激活某个input,适用于一些比较简单的表单页面,比如说一个纯粹的登录页面。


form

form属性是配合form 2.0中新的表单结构来使用的,用来指明当前表单元素隶属于那(几)个表单,属性值为隶属表单<form>的id,有多个隶属表单则用空格分隔开多个id。
关于form 2.0中新的表单结构,请看这篇文章:《html5系列:form 2.0 新结构


表单重写属性

同样与form 2.0中新的表单结构相关,请看这篇文章:《html5系列:form 2.0 新结构


min、max 和 step

配合date pickersnumber以及range<input> 标签来使用,用来规定最小值、最大值以及每点一下数值增长的幅度。


multiple

boolean类型属性,用于file类型的<input>标签,表示当前文件上传框可接受(选定)多个文件。


novalidate

boolean类型属性,用于取消整个表单(<form novalidate>)或只针对某些表单元素(<input type="email" novalidate />),目前相当的场景就是网站出于某些原因(比如说对UI的要求或对比较特殊的数据的验证)使用了第三方的表单验证插件,为了避免冲突,取消原生的表单校验。


required

boolean类型属性,规定某个表单元素为必填项,主要用于表单检验。


pattern

与表单检验相关,填入正则表达式。


placeholder

placeholder属性起到提示的作用,当<input>的值为空且没有处在选中(focus)的状态时显示placeholder属性的值。由于要考虑到兼容性问题,一般还是自己用js来实现。


array_huang
10.5k 声望6.6k 粉丝