表单一直是网页必不可少的一部分,一直以来,表单的作用被无限扩展,发展出了诸多新奇的用法,老版的HTML只支持很少的一部分常用表单,许多的新表单都需要借助CSS与JavaScript语言来进行构建,现在HTML5来了,她带来了新的表单,这些强大的表单项,可以省去一大块复杂的JavaScript代码,很值得去学习。

而且在新的表单里面,不再像以前每个表单都必须位于<form></form>之内,只要在<form></form>内定义一个id,然后在网页任何位置都可以插入表单,只要将该表单通过form属性指向这个已定义的id即可,即完成相关联,极大地提高了表单的任意度,值得一赞。就像如下的例子:

<formid=iform><inputtype=”text”name=”我在form内部”/></form><inputtype=”text”name=”我在form外部”form=”foo”/>


HTML5中新增了不少的新表单项:

Email类型

<inputtype=”email”name=”my_email”/>


Email表单用于在文本框中输入email格式的内容,如果输入内容为非标准email格式,会提示错误,让你重新输入。

Url类型

<inputtype=”url”name=”my_url”/>


url表单用于在文本框中输入网址内容,浏览器会自动为网址添加http://,所以只需输入其后面的内容即可,如果输入内容不符合网址格式,则会提示错误,重新输入。

Number类型

<inputtype=”number”name=”my_number”min=”1”max=”10”step=”2”/>


Number类型表单用于用户输入规定的数值,如上所述,限定在文本框内输入从1到10中按2为跨越的数值(1、3、5、7、9),如果输入其他数值则会提示错误,要求重新输入。其实number类型还有一个属性value,用于显示默认值。

Range类型

<inputtype=”range”name=”my_range”min=”0”max=”10”step=”2”value=”6”/>


Range表单显示出一个进度条式的数值选择条,通过滑动选择自己的数值,同样如上所示,限定用户滑动选择从0到10里以2为跨步的数值,这不会存在错误的情况。

Data类型

<inputtype=”data”name=”my_data”/><inputtype=”month”name=”my_month”/><inputtype=”week”name=”my_week”/><inputtype=”time”name=”my_time”/><inputtype=”datatime”name=”my_datatime”/><inputtype=”datatime_local”name=”my_datatime_local”/>


Data类型的表单包含如上所示一组的表单项,均表示的是时间,相对应的如果在文本框内输入超出范围的时间则会出错,现在支持的浏览器很少。

Search类型

<inouttype=”search”/>


Search表单显示为普通的文本域,同text表单一样,采用search表单语义化明确,通常用于网页顶部的搜索框。

Color类型

<inouttype=”color”/>


Color表单可以在网页中提供颜色选择框,用户可以选择一种颜色,这个颜色值将会赋予value。

这里我们还要提一点,就是有关HTML5的兼容性,为什么提这个东西呢,当然是因为这里用得到,虽然现在主流的浏览器对新表单的支持良莠不齐,有的甚至都不支持,但这并不能阻止我们使用它们,这就是因为HTML5的兼容性,因为浏览器对不支持的表单项并不会报错,而是将其显示为正常的文本框(text),这并不影响网页的其他内容,而且还会带来语义化的代码,易读易懂,随着浏览器的发展进步,对表单的支持肯定会越来越好,我们还有设么好担心的呢,放心的用吧。