HTML 5+CSS 3+jQuery Mobile移动网站与APP开发实战
上QQ阅读APP看书,第一时间看更新

3.2 E-Mail类型的input标签

HTML 5表单为input标签设计了几个全新的type类型,本节介绍E-Mail类型。设置成E-Mail类型的input标签可以在表单提交时自动验证其中的内容是否为合法的E-Mail类型地址,这样就降低了传统JS脚本语言验证时的复杂度。

下面我们看一段在HTML 5表单中使用E-Mail类型的代码,这段代码(参见源代码chapter03/ch02-HTML 5form-input-email.html文件)给出一种使用E-Mail类型的input标签的方法。

【示例3-1】 E-Mail类型的input标签的使用

   01  <!DOCTYPE html>
   02  <html lang="zh-cn">
   03  <head>
   04      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   05      <script type="text/css">
   06          label {
   07              margin: 4px;
   08              width: 96px;
   09              text-align: justify;
   10          }
   11          input {
   12              margin: 4px;
   13          }
   14      </script>
   15      <title>HTML 5表单之E-mail类型input标签</title>
   16  </head>
   17  <body>
   18      <!-- 添加文档主体内容 -->
   19      <h3>HTML 5表单之E-mail类型input标签</h3>
   20      <!-- 添加文档主体内容 -->
   21      <form action="#" method="get" autocomplete="on">
   22          <label for="name">用户名:</label><br>
   23          <input type="text" id="name" /><br/>
   24          <label for="pwd">密  码:</label><br>
   25          <input type="password" id="pwd" /><br/>
   26          <label for="email">E-mail:</label><br>
   27          <input type="email" id="email" autocomplete="off" /><br/><br/>
   28          <input type="submit" />
   29      </form>
   30      <!-- 添加文档主体内容 -->
   31  </body>
   32  </html>

在这段HTML代码中,定义了一个form表单及一些标签。下面我们详细介绍。

第21~29行代码通过form标签定义了一个HTML 5表单,其中action属性定义为提交到当前页面,method属性定义为get方式,并定义了autocomplete自动完成属性。

第22~23行代码定义了一个type="text"类型的input标签,用于输入用户名称。

第24~25行代码定义了一个type="password"类型的input标签,用于输入登录密码。

第26~27行代码定义了一个type="email"类型的input标签,用于输入电子邮箱地址。其中,type="email"类型的input标签就是HTML 5表单新增加的特性,提交时可以自动完成对电子邮件地址类型的验证。第27行代码定义E-Mail类型的input标签时还增加了autocomplete="off"属性的定义,关闭了input标签的自动完成功能。

第28行代码定义了一个type="submit"类型的input标签,用于提交HTML 5表单。

运行测试这个页面,效果如图3.1所示。从图中可以看到,当用户在E-Mail类型的input标签中输入不合法的电子邮件地址时,该input标签的边框会自动加粗变成红色,提示用户输入有误。

下面单击“提交查询”按钮运行测试这个页面,效果如图3.2所示。从图中可以看到,如果用户不理会提示错误,强行单击“提交查询”按钮,页面就会弹出一个Tooltip提示窗口,告诉用户“请输入电子邮件地址。”,这就是HTML 5表单的新特性,内部实现了以前使用脚本语言才能完成的验证功能,真的很强大。

图3.1 E-Mail类型的input标签的使用(1)

图3.2 E-Mail类型的input标签的使用(2)

在表单提交成功后,按F5键刷新这个页面,效果如图3.3所示。从图中可以看到,重新刷新页面后,Text类型的input标签的内容保留下来了,而Password类型和E-Mail类型的input标签的内容被清空了,这就是前面提到的HTML 5表单的自动完成新特性。

图3.3 E-Mail类型的input标签的使用(3)