HTML5之表单详解


======================================================
注:本文源代码点此下载
======================================================

请在新版标准浏览器(chrome/opera/firefox/safari...)中浏览本文中的样例,否则你看到的只是一个个空白的表单! ⊙﹏⊙‖∣

时光车轮滚滚碾来,前端之路永无止歇.对于这个前端这门精一多专的技术,任何一次技术革新,我们都必须第一时间去了解它学习它,比如web世界里这簇美艳的花朵---html5.虽然html5发布之初,许多人(包括我)都觉得普及它还很遥远,但自发布以来,许多企业级网站对它的尝试应用(比如应用,比如canvas的应用),使html5的迈出了一大步,随之而来ie9的发布,无疑又让我们看到了html5离我们不再遥远.

学习html5半年有余了,虽然对它的离线存储以及canvas等革新性技术还是一知半解,但我还是希望我现在所学到的能帮助更多的前端人学习这门毋庸置疑是新趋势的技术.本文我将详细介绍一下html5中对表单功能的更新.

阅读本文前建议在opera最新版中打开样例演示页查看样例演示

一、表单结构更自由

xhtml中需要放在form之中的诸如inpu/button/select/textarea等标签元素,在html5中完全可以放在页面任何位置,然后通过新增的form属性指向元素所属表单的id值,即可关联起来.

比如:

...

二、多样的输入类型(大部分新类型目前并不为所有标准浏览器支持,请参见样例演示中的提示)

email输入类型

此类型要求输入格式正确的email地址,否则浏览器是不允许提交的,并会有一个错误信息提示.此类型在opera中必须指定name值,否则无效果.

url输入类型

上面代码展示的文本域要求输入格式正确的url地址,opera中会自动在开始处添加http://.

日期时间相关输入类型(这些个很牛x的)

这一系列是很酷的一个类型,完全解决了烦琐的js日历控件问题.但目前ms只有opera/chrome新版本支持,且展示效果也不一样.

number输入类型(这些个很牛x的)

这个不用多解释了,要求输入一个数字字符,若未输入则会抛出一个错误.

range输入类型

此类型将显示一个可拖动的滑块条,并可通过设定max/min/step值限定拖动范围.拖动时会反馈给value一个值.

search输入类型

此类型表示输入的将是一个搜索关键字,通过results=s可显示一个搜索小图标.

tel输入类型

此类型要求输入一个电话号码,但实际上它并没有特殊的验证,与text类型没什么区别.

color输入类型

此类型表单,可让用户通过颜色选择器选择一个颜色值,并反馈到value中.

三、新增的表单属性

placeholder属性

这是一个很实用的属性,免去了用js去实现点击清除表单初始值.浏览器支持也还不错,ms除了firefox,其他标准浏览器都能很好的支持.

require/pattern属性

表单验证属性,require类型时,若输入值为空,则拒绝提交,并会有一个提示.上面两种写法都对,这个很有用.并且可以用于textarea以及hidden/image/submit类型.pattern类型为正则验证,可以完成各种复杂的验证.这两种类型在opera中必须指定name值,否则无效果.

autofocus属性

默认聚焦属性,可在页面加载时聚焦到一个表单控件,类似于js的focus().

list属性

该属性需要与datalist属性共用,datalist是对选择框的记忆,而list属性可以为选择框自定义记忆的内容.

max/min/step属性

限制值的输入范围,以及值的输入渐进程度,比如可在number设定输入最大值最小值,或者在range中设定拖动阶梯.

autocomplete属性

此属性是为表单提供自动完成功能.如果该属性为打开状态可很好地自动完成.一般来说,此属性必须启动浏览器的自动完成功能.

路漫漫其修远兮,吾将上下而求索.前端之路,学无止尽.痛并快乐着. ╰( ̄▽ ̄)╮

原文首发于mr.think的博客: http://mrthink.net/html5-newfeatures-form/ 转载请注明.


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值