原文链接:http://www.cnblogs.com/fly_dragon/archive/2012/05/27/2519951.html
引言
在之前的HTML表单标签中,对于一些功能支持的不够好,比如:文本框提示信息(之前只能通过js和input的事件结合处理)、表单校验、日期选择控件、颜色选择控件、范围控件、进度条、标签跨表单等功能。当然这些东西我们都可以直接通过js和dom元素配合实现这些通用的功能。这些功能或者是标签都已经大量的使用在了现代的Web应用中,而这些公共性的东西在早期的HTML标准没有直接的标准支持,而在HTML5中,新标准直接把这些常用的基本的功能直接加入的新的表单标签中,真正把表单功能异常的强大,那就跟我走一下HTML5智能表单之旅吧!
由于最新版本的Opera浏览器对新型表单支持的最为完美,所以建议本blog或者以下示例请在Opera浏览器上打开.
HTML5新增加表单标签
新的标准中添加了很多输入型控件,比如:Number、URL、Email、Range、Color等。而他们都是以 input标签的type属性出场,那下面我一一简单介绍一下。[以下所有的例子请用Opera浏览器浏览]
1)只能输入数字的Number类型input标签
Html代码为:<input type="number" name="demoNumber" min="1" max="100" step="2"/>
运行效果:
注:此标签其实就是普通的input标签,只不过是type类型指向了number,标识当前标签接受数字类型输入.另外添加了四个属性.
name:属性大家很熟悉了用来标识表单提交时的key值
min:是表单标签新增加的属性标识当前输入框输入的最小值
max:那就是最大值了
step:是步长的意思,也就是在点击增大或者减小的时候的增加减少的步长
小结:min,max,step是表单标签中添加的新的属性。另外就是type又增加了一个新的number类型,接受数字输入。而之前我们要做到这样的效果只能通过js在失去焦点时候判断,控制起来不那么方便,现在一切都那么简单简洁。
2)新型Email类型input标签
Html代码:<input type="email" name="email" placeholder="请输入注册邮箱" />
运行效果:
注:在上面HTML代码中,相对于之前的标签,不同点:type="email"表示当前input标签接受一个邮箱的输入。另外就是:placeholder="请输入注册邮箱" 这个属性的功能,相信你看到此时的效果的时候你会感到非常想兴奋,而在之前实现此提示信息,需要监听一下文本框的blur事件,然后判断是否为空,为空再去给文本框赋值一个灰色的字体提示信息,而现在只需要一个简单属性指定就可以了,浏览器都帮我们实现了。
小结:当表单在提交前,此文本框会自动校验是否符合邮箱的正则表达式,另外placeholder属性带来的提示信息功能太强大了。
3)新型Url类型input标签
这里不再赘述了,跟Email类型input标签类似。只看一效果吧:
Html代码:<input type="url" placeholder="请输入网址" name="url" />
运行效果:
4)新型Tel类型input标签
Html代码:<input type="tel" placeholder="输入电话" name="phone"/>
运行效果:
5)新型range类型input标签
Html代码:<input type="range" min="0" max="50" step="5" name="rangedemo" value="0" />
运行效果:
此类型标签的加入,输入范围内的数据变得非常简单容易,而且非常标准,用户输入可感知体验非常好。另外此标签可以跟表单新增加的Output标签一块使用,达到一个联动的效果。看demo源码:
1
2
3
4
|
< form action = "" method = "POST" id = "form1" >
< input type = "range" min = "0" max = "50" step = "5" name = "rangedemo" value = "0" />
< output onforminput = "value=rangedemo.value" >0</ output >
</ form >
|
运行效果:
6)新的日期、时间、月份、星期input标签
相信你如果做过相关的Web项目开发,肯定会遇到相关的js日期控件。而一系列版本问题,使用不方便等问题将一去不复返,因为…看下面的标签吧:
Html代码:<input type="date" name="datedemo" />
运行效果:
还有其他的type:month(月) 、time、week、datetime-local、datetime。那赶紧实验一下吧。
7)颜色选择input标签
颜色选择器实现起来还是有点困难的,而现在一切都变得那么简单。且看代码:
Html代码:<input type="color"/>
运行效果:
8)input标签自动完成功能
如果您有一定的开发经验的话,肯定做过相关的自动完成或者输入提示功能。那这将不再那么复杂,简单几个标签就自动实现此功能,请看如下demo:
1
2
3
4
5
6
|
< input type = "text" autocomplete = "on" name = "demoAutoComplete" list = "autoNames" />
< datalist id = "autoNames" >
< option value = "飞龙天惊" ></ option >
< option value = "厚德IT" ></ option >
< option value = "Flydragon" ></ option >
</ datalist >
|
执行结果:
HTML5表单新增属性
Input标签新增加的特有属性
- 1)autofocus属性
demo:<input type="text" autofocus="autofocus"/> 此属性可以设置当前页面中input标签加载完毕后获得焦点。
- 2)max,min,step这些上面都介绍过了,都是跟数字相关。
- 3)placeholder:提示信息属性,上面有demo。
- 4)multiple:用于文件上传控件,设置此属性后,允许上传多个文件。
- 5)校验属性:设置了required 属性后预示着当前文本框在提交前必须有数据输入,而这一切都是由浏览器自动完成。
这跟使用Jq Validate的时候一样的爽。而且还添加了:pattern正则表达式的校验。
demo:input type="text" autofocus="autofocus" required pattern="\d+" />
- 6)另外一个比较大的改进就是增加了form属性,也就是说,任何一个标签都可以指定它所属于一个表单,而不是必须在<form></form>进行包裹了。
- 且看demo:<input type="text" form="demoForm" name="demo"/>
Form表单标签新增加属性
- 1)novalidate 属性规定在提交表单时不应该验证 form 或 input 域。
demo:<
form
action
=
""
method
=
"POST"
novalidate
=
"true"
></form>
-
2)autocomplete 属性规定 form 或 input 域应该拥有自动完成功能
。
综合性实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
< fieldset >
< legend >只能表单演示:请用最新Opera 浏览器</ legend >
< form action = "" method = "POST" id = "form1" >
< input type = "text" autofocus = "autofocus" required pattern = "\d+" name = "auto" placeholder = "必填项测试" />
< input type = "number" name = "demoNumber" min = "1" max = "100" step = "2" />
< input type = "email" placeholder = "请输入邮箱" name = "mail" />
< input type = "url" name = "url" placeholder = "输入正确的网址" />
< br />
日期:< input type = "datetime" name = "time" />
颜色:
< input type = "color" name = "color" />< br />
< br />
< input type = "range" min = "0" max = "50" step = "5" name = "rangedemo" value = "0" />
< output onforminput = "value=rangedemo.value" >0</ output >
< br />
< input type = "submit" value = "提交表单" />
</ form >
表单外的input标签:
< input type = "text" form = "form1" name = "demo" />
</ fieldset >
|
执行结果:
由于部分属性不能正常提交到博客园后台,上一张图片加源码:
图片:
总结
在新版本的表单中的确添加了很多令人兴奋的功能。其实进步不是特别大,只不过是把之前的常用的功能,加入到了标准中来定义,然后浏览器帮我们实现了很多我们原先需要自己用js实现的一些功能罢了。但是对于开发者来说,这的确是很不错的一件事情。
相关推荐
HTML5是Web开发领域的一次重大革新,它在2014年被...通过这个HTML5系列教程,你将系统地学习HTML5的各种特性,并能将其应用到实际项目中,无论是创建响应式网站还是开发原生感的移动应用,HTML5都是不可或缺的工具。
本离线学习资料包含了一系列关于HTML5的重要知识点,旨在帮助开发者在没有网络连接的情况下也能持续学习和进步。 首先,HTML5的核心特性在于其语义化标签,如、、、和等,这些标签让网页内容的结构更加清晰,有利于...
5. **表单控件增强**:HTML5新增了多种表单控件,如日期选择器、搜索框、电子邮件输入等,提高了用户界面的友好度。 6. **Geolocation API**:允许网页获取用户的地理位置信息,为本地化服务提供了可能。 7. **Web...
这个“HTML5资料下载”压缩包很可能包含了一系列关于HTML5的学习资源,如教程文档、示例代码、实战项目等,非常适合想要学习或深入了解HTML5技术的人员。 HTML5的核心特性包括: 1. **语义化标签**:HTML5引入了新...
在提供的"demo"文件中,可能包含了一系列HTML5在微信环境中的实际应用示例,如页面布局、媒体播放、表单验证、地理定位等功能的演示。通过分析和学习这些示例,初学者可以快速掌握HTML5在移动端开发中的实战技巧,...
10. **Form元素改进**:HTML5对表单元素进行了改进,新增了date、time、email、url等输入类型,以及placeholder属性、required属性和pattern属性,增强了表单验证和用户体验。 11. **Video和Audio元素**:HTML5直接...
“第2章HTML5.ppt”可能讲解了HTML5的新表单元素和属性,如、以及元素中的required、pattern等属性,这些新功能增强了用户交互体验,提高了表单数据验证的能力。 接着,“第5章-HTML5.ppt”可能涉及HTML5的多媒体...
HTML5是现代网页开发的标准,它在2014年正式发布,自那时以来,一直在不断进化和增强,为开发者提供了更多创新的可能性。这个“2019最新HTML5模板合集”显然是一系列精心设计的网页模板,适用于创建各种类型的网站,...
HTML语言的核心是通过一系列的标签来组织网页内容,这些标签描述了内容的类型和样式。例如,`<html>`标签是文档的根元素,`<head>`包含了元数据,如标题和样式表,而`<body>`则包含了用户在浏览器中看到的实际内容。...
HTML5引入了许多新特性,比如语义化标签如`<header>`、`<footer>`、`<article>`和`<aside>`,增强了网页内容的结构化表达。还有`<canvas>`用于绘制图形,`<video>`和`<audio>`支持多媒体播放,以及`...
1. 标签:HTML由一系列标签组成,每个标签都有其特定含义,如`<html>`表示文档的根元素,`<head>`包含文档元信息,`<body>`则包含可见内容。 2. 属性:标签可以具有属性,如`<a>`标签的`href`属性定义链接地址,`...
10. **表单控件增强**:HTML5新增了多种表单输入类型,如date、time、email、url等,提高了表单验证和用户体验。 11. **Semantics**:HTML5引入了新的语义化标签,如、、、等,帮助搜索引擎更好地理解网页内容,并...
HTML5引入了一系列新的语义化标签,如、、、和等,它们帮助开发者更好地定义页面结构,增强了内容的可读性和可访问性。这些标签使得搜索引擎和辅助技术更容易理解页面内容。 三、多媒体支持 HTML5的一大亮点是对...
- **HTML5的核心规范**:HTML5的核心部分由W3C官方规范构成,包括新引入的语义化元素、增强型Web表单、音频/视频支持以及Canvas绘图等功能。这些核心功能在主流浏览器中的支持度较高。 - **扩展功能与JavaScript集成...
7. **表单控件增强**:HTML5对表单元素进行了改进,增加了新的输入类型(如date、email、url等)、属性(如required、placeholder等)和验证功能,使表单提交更加友好和安全。 8. **Geolocation API**:HTML5的...
【标题】"紫色大气宽屏html5响应式发型设计美容" 涵盖了一系列与网页设计、前端开发以及用户体验相关的技术知识点。在这个标题中,我们可以提取出以下几个关键要素: 1. **紫色大气**:在网页设计中,色彩是至关...
本PPT系列,"accp html ppt (三)",是针对ACC(阿帕奇教育认证课程)中的HTML部分进行的详细讲解,适合初学者和希望深化HTML理解的学习者。 首先,我们来深入了解一下HTML的基本结构。一个基本的HTML文档由<!...
HTML5是现代网页开发的核心标准,它极大地扩展了HTML4的功能,提供了更多语义化的标签、多媒体支持以及增强的交互性。在这个“HTML5示例汇总”中,我们可以深入学习和理解HTML5的关键特性。 首先,HTML5引入了一...
8. **Forms表单改进**:HTML5对表单元素进行了升级,添加了新输入类型(如date、email、range等),以及新的表单属性和验证机制,增强了用户体验和数据输入的准确性。 9. **Web Socket**:HTML5的WebSocket协议提供...
本套“zhuyuan-html入门教学视频”是专为初学者设计的一系列教学资源,由专业人士亲自录制,旨在帮助学习者快速掌握HTML5的基础知识和实际应用技巧。HTML5是现代网页开发的核心语言,它的出现极大地提升了网页的交互...