首先必须提到,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 pickers
、number
以及range
的<input>
标签来使用,用来规定最小值、最大值以及每点一下数值增长的幅度。
multiple
boolean类型属性,用于file
类型的<input>
标签,表示当前文件上传框可接受(选定)多个文件。
novalidate
boolean类型属性,用于取消整个表单(<form novalidate>
)或只针对某些表单元素(<input type="email" novalidate />
),目前相当的场景就是网站出于某些原因(比如说对UI的要求或对比较特殊的数据的验证)使用了第三方的表单验证插件,为了避免冲突,取消原生的表单校验。
required
boolean类型属性,规定某个表单元素为必填项,主要用于表单检验。
pattern
与表单检验相关,填入正则表达式。
placeholder
placeholder
属性起到提示的作用,当<input>
的值为空且没有处在选中(focus)的状态时显示placeholder
属性的值。由于要考虑到兼容性问题,一般还是自己用js来实现。