作为从事前段开发的人员要做到精一专多,这就需要时刻学习***的知识,那我们就必需提到WEB开发领域的HTML5.
学习HTML5半年有余了,虽然对它的离线存储以及canvas等革新性技术还是一知半解,但我还是希望我现在所学到的能帮助更多的前端人学习这门毋庸置疑是新趋势的技术.本文我将详细介绍一下HTML5中对表单功能的更新. 阅读本文前建议在Opera***版中打开样例演示页查看样例演示。
一、表单结构更自由
XHTML中需要放在form之中的诸如inpu/button/select/textarea等标签元素,在HTML5中完全可以放在页面任何位置,然后通过新增的form属性指向元素所属表单的ID值,即可关联起来. 比如:
- <FORM id=iform>
- <INPUT>
- ...
- </FORM>
- <INPUT value=我在id为iform的表单外 form="foo">
二、多样的输入类型
(大部分新类型目前并不为所有标准浏览器支持,请参见样例演示中的提示) email输入类型
- <INPUT type=email name=email>
此类型要求输入格式正确的email地址,否则浏览器是不允许提交的,并会有一个错误信息提示.此类型在Opera中必须指定name值,否则无效果. url输入类型
- <INPUT type=url>
上面代码展示的文本域要求输入格式正确的URL地址,Opera中会自动在开始处添加http://. 日期时间相关输入类型(这些个很牛X的)
- <INPUT type=date>
- <INPUT type=time>
- <INPUT type=month>
- <INPUT type=week>
这一系列是很酷的一个类型,完全解决了烦琐的JS日历控件问题.但目前MS只有Opera/Chrome新版本支持,且展示效果也不一样.
number输入类型(这些个很牛X的)
- <INPUT type=number>
这个不用多解释了,要求输入一个数字字符,若未输入则会抛出一个错误.
range输入类型
- <INPUT type=range>
此类型将显示一个可拖动的滑块条,并可通过设定max/min/step值限定拖动范围.拖动时会反馈给value一个值.
search输入类型
- <INPUT type=search>
此类型表示输入的将是一个搜索关键字,通过results=s可显示一个搜索小图标.
tel输入类型
- <INPUT type=tel>
此类型要求输入一个电话号码,但实际上它并没有特殊的验证,与text类型没什么区别.
color输入类型
- <INPUT type=color>
此类型表单,可让用户通过颜色选择器选择一个颜色值,并反馈到value中.
三、新增的表单属性
placeholder属性
- <INPUT placeholder="点击我会以清除">
这是一个很实用的属性,免去了用JS去实现点击清除表单初始值.浏览器支持也还不错,MS除了Firefox,其他标准浏览器都能很好的支持.
require/pattern属性
- <INPUT name=require>
- <INPUT name=require1 required="required">
- <INPUT name=require2 pattern="^[1-9]\d{5}$">
表单验证属性,require类型时,若输入值为空,则拒绝提交,并会有一个提示.上面两种写法都对,这个很有用.并且可以用于textarea以及hidden/image/submit类型.pattern类型为正则验证,可以完成各种复杂的验证.这两种类型在Opera中必须指定name值,否则无效果.
autofocus属性
- INPUT autofocus="true">
默认聚焦属性,可在页面加载时聚焦到一个表单控件,类似于JS的focus().
list属性
- <INPUT list="ilist">
- <DATALIST id=ilist>
- <OPTION label="a" value="a">
- </OPTION><OPTION label="b" value="b">
- </OPTION><OPTION label="c" value="c">
- </OPTION></DATALIST>
该属性需要与datalist属性共用,datalist是对选择框的记忆,而list属性可以为选择框自定义记忆的内容.
max/min/step属性
- <INPUT type=range max="100" min="1" step="20">
限制值的输入范围,以及值的输入渐进程度,比如可在number设定输入***值最小值,或者在range中设定拖动阶梯.
autocomplete属性
- <INPUT autocomplete="on">
此属性是为表单提供自动完成功能.如果该属性为打开状态可很好地自动完成.一般来说,此属性必须启动浏览器的自动完成功能.
在本文中我给大家分享了关于HTML5的表单的一些新功能,新属性,如果有心了解更多的话,就利用网络或多看下这本书多学习一下。
【编辑推荐】