html5系列:form 2.0 新数据类型

681 查看

所谓新数据类型,其实是体现在倆方面的:

  1. 输入方式:对比起以前只能用键盘敲的input:text,现在已经有调用日历/时钟的,有调用调色板的,有拉滑动条的……总体来说就是让你可以更懒更准确地进行输入。

  2. 格式校验:新的数据类型如range、color等其实不需要校验,因为用户只能按系统提供的方式进行输入,所以不存在出错的可能。而对于一些需要使用键盘输入的input,则提供了数据格式的校验,比如input:urlinput:email等。格式校验的时机有两种,一是提交表单时检查该表单的所有元素;二是像"input:Date Pickers"这种的,在输入时便已经自动修正格式了,举个例子,如果我输入"2015年11月50日",则在输入完"50"的那一瞬间就会自动修正为最大值"31"。


Input 类型 - email

email 类型用于应该包含 e-mail 地址的输入域。
在提交表单时,会自动验证 email 域的值。

E-mail: <input type="email" name="user_email" />

在手机输入法上会添加@.com选项。


Input 类型 - url

url 类型用于应该包含 URL 地址的输入域。
在提交表单时,会自动验证 url 域的值。

Homepage: <input type="url" name="user_url" />

在手机输入法上会添加.com选项。


Input 类型 - number

number 类型用于应该包含数值的输入域。
您还能够设定对所接受的数字的限定:

Points: <input type="number" name="points" min="1" max="10" />

在手机输入法上会调出数字输入面板。

另外,input:number拥有以下属性来帮助用户输入及校验。

属性 值 描述
max number 规定允许的最大值
min number 规定允许的最小值
step number 规定合法的数字间隔(如果 step="3",则合法的数是 -3,0,3,6 等)
value number 规定默认值


Input 类型 - range

range 类型用于应该包含一定范围内数字值的输入域。
range 类型显示为滑动条。
您还能够设定对所接受的数字的限定:

<input type="range" name="points" min="1" max="10" />

另外,input:range拥有以下属性来帮助用户输入及校验。

属性 值 描述
max number 规定允许的最大值
min number 规定允许的最小值
step number 规定合法的数字间隔(如果 step="3",则合法的数是 -3,0,3,6 等)
value number 规定默认值


Input 类型 - Date Pickers(日期选择器)

HTML5 拥有多个可供选取日期和时间的新输入类型:
date - 选取日、月、年
month - 选取月、年
week - 选取周和年
time - 选取时间(小时和分钟)
datetime - 选取时间、日、月、年(UTC 时间)
datetime-local - 选取时间、日、月、年(本地时间)
下面的例子允许您从日历中选取一个日期:

Date: <input type="date" name="user_date" />

Input 类型 - search

search 类型用于搜索域,比如站点搜索或 Google 搜索。
search 域显示为常规的文本域,但如果文本域中有内容,则会显示一个x按钮,按下后即可清除已输入的内容。