HTML5+CSS3从入门到精通(微课精编版)
上QQ阅读APP看书,第一时间看更新

3.1 HTML5表单特性

HTML5表单新增了很多功能,我们将在本章各节中详细说明。下面简单列举几个对于开发者来说具有重要价值的特性。提示:浏览器对最后3个特性的支持不是很好,W3C可能会在最终的HTML5版本中放弃规范。

1.新的控件类型

HTML5新增一系列新的控件,这些表单控件具备类型检查的功能,如URL输入框、Email输入框等。

    <input type="url" />
    <input type="email" />

2.日期选择器和颜色选择器

在HTML5之前,用户一般使用JavaScript和CSS设计日期选择器和颜色选择器,这样费时费力,且使用不是很友好。简便的方法就是借助相关框架,如Dojo、YUI等类库。

    <input type="date" />
    <input type="color" />

3.改进文件上传控件

在HTML5中,文件上传控件变得非常强大和易用,用户可以使用一个控件上传多个文件,自行规定上传文件的类型(accept),甚至可以设定每个文件最大的大小(maxlength)。

4.内建表单校验系统

HTML5为不同类型的输入控件各自提供了新的属性,来控制这些控件的输入行为,如必填项required属性,为数字类型控件提供的max、min等。在提交表单时,一旦校验错误,浏览器将不执行提交操作,而会显示相应的检验错误信息。

    <input type="text" required />
    <input type="number" min=10  max=100 />

5.XML Submission

form的编码格式一般为application/x-www-form-urlencoded。这种格式的数据传送到服务器端,可以方便地存取。HTML5将提供一种新的数据格式—XML Submission,即application/x-www-form+xml,这样服务器端将直接接收到XML形式的表单数据。

6.外联数据源

在HTML5之前,为select下拉列表动态添加很多选项,非常烦琐,而这些选项多来自于数据库,如分类列表、商品列表等。HTML5支持data属性,为select控件提供外联数据源。

    <select data="http://domain/options"></select>

7.重复(repeat)的模型

HTML5提供一套重复机制来帮助用户构建一些重复输入列表,如add、remove、move-up、move-down的按钮类型,通过这一套重复的机制,开发人员可以非常方便地实现经常用到编辑列表,这是一个很常规的模式,我们可以增加一个条目、删除某个条目、移动某个条目等。