第3章 HTML5新增标签和属性 在网站开发过程中,表单是获取用户信息的重要手段,HTML5大大加强了表单的功能,增加了从用户手机获得特定类型数据的新方法和在浏览器中检查数据的能力,以便提高用户交互的黏性,而且HTML5为了使页面元素更加丰富、多元,新增了video和audio等媒体标签。本章主要介绍表单新增特性、语义化结构标签及媒体标签的应用。 本章思维导图如图31所示。 图31思维导图 3.1HTML5表单新增 HTML5对表单系统进行了彻底的改造,新特性提供了更多语义明确的表单类型,并能够及时响应用户交互,以适应当前的应用。下面从表单新增类型、新增元素及新增属性等方面分别进行介绍。 3.1.1HTML5新增输入类型 HTML5新增了多项表单输入类型,这些新类型具有更明确的含义,提供了更好的输入控制和验证,而不用借助其他前端脚本语言(如JavaScript),为开发人员带来了极大的方便。新增的输入类型如表31所示。 表31HTML5新增输入类型 类型示例描述 email输入邮箱格式 tel输入手机号码格式 url输入URL格式 number输入数字格式(只能是数字) search搜索框(体现语义化) range包含数值范围的滚动条 time选中时间(包含时、分) date选择日期(包含年、月、日) datetimeUTC时间(包含年、月、日、时、分) month选择月份(包含年、月) week选择星期(包含年、第几周) datetimelocal本地时间和日期 color颜色选择器 其中,datetime、datetimelocal、time、date、week和month类型是6种样式不同的时间日期选择器控件,统称为日期选择器。目前主流浏览器一般支持新的input类型,即使不支持,也可以显示常规的文本域。 1. 电子邮箱类型email 在提交表单时,会自动验证email域的值是否符合email的标准格式,再也不用自己用正则表达式去写email的格式验证了,代码如下: Email: 2. 电话号码类型tel tel 类型的元素用于让用户输入和编辑电话号码,在提交表单之前,输入值不会被自动验证为特定格式,因为世界各地的电话号码格式差别很大。尽管 tel 类型的输入在功能上和 text 输入一致,但它们确实有用,其中最明显的就是移动浏览器,特别是在手机上可能会选择专为输入电话号码而优化的自定义键盘,如图32所示。 图32手机端运行效果 由图32可知type="tel"会唤起系统的数字键盘。或者tel类型的文本框也可以和pattern属性一起使用,达到校验的效果,代码如下: 3. 地址类型url 将type属性设置为url,在提交表单时,会自动验证url域的值是否符合url的标准格式,输入的内容中必须包含"http://",后面必须有内容,如百度网址或谷歌网址,代码如下: 4. 数字类型number number类型是用来专门输入数字的文本框,在提交时会检测其中内容是否为数字。此类型的input标签的常用属性如表32所示,代码如下: 表32数值设置限定属性 属性描述 max规定允许的最大值 min规定允许的最小值 step规定合法的数字间隔(如果 step="3",则合法的数字是-3、0、3、6等) value规定默认值 disabled规定输入字段是禁用的 maxlength规定输入字段的最大字符长度 pattern规定用于验证输入字段的模式 readonly规定输入字段的值无法修改 required规定输入字段的值是必需的 size规定输入字段的可见字符 5. 搜索类型search search类型是一种专门用来输入搜索关键词的文本框。不同于普通类型的文本框,当用户开始输入时,输入框的右边会出现一个用于清除内容的图标,单击此图标可以快速清除,代码如下: 6. 数值范围类型range range 类型用于包含一定范围内数字值的输入域。range 类型显示为滑动条。还能够设定对所接收的数字的限定,代码如下: 其用于数字限定的属性同number类型的前4个。 7. 颜色类型color color类型用来选取颜色,它提供了一种颜色选取器,代码如下: 8. (Date Pickers)日期选择器 标签中与时间日期选择相关的type属性值有以下6种: (1) date 用于选取日、月、年。 (2) month 用于选取月、年。 (3) week 用于选取周和年。 (4) time 用于选取时间(小时和分钟)。 (5) datetime 用于选取时间、日、月、年(UTC时间,有时区)。 (6) datetimelocal 用于选取时间、日、月、年(本地时间)。 使用日期选择器的语法格式如下: 其中,type属性值可以填写上边6种类型中的任意一种。 新增input标签类型的综合应用如例31所示。 【例31】表单新增输入类型