HTML5 – Web Forms 2.0

HTML5 – Web Forms 2.0

Web Forms 2.0是HTML4表单功能的扩展。HTML5中的表单元素和属性提供比HTML4更高的语义标记,使我们从HTML4中需要的许多繁琐的脚本和样式中解放出来。

HTML4中的输入(<input>)元素

在HTML4中,输入元素使用 type 属性来指定数据类型。HTML4提供以下类型:

排序 类型和描述
1 text 一个自由格式的文本字段,名义上没有换行符。
2 password 一个自由格式的文本字段,用于敏感信息,名义上没有换行符。
3 checkbox 从预定义列表中选择零个或多个值的集合。
4 radio 枚举值。
5 submit 一个自由形式的按钮,启动表单提交。
6 file 一个具有MIME类型和可选文件名的任意文件。
7 image 与特定图像大小相关的坐标,具有额外的语义,必须选择最后一个值并启动表单提交。
8 hidden 一个任意的字符串,通常不显示给用户。
9 select 枚举值,类似于单选按钮。
10 textarea 一个自由格式的文本字段,名义上没有换行约束。
11 button 一个自由形式的按钮,可以启动与按钮相关的任何事件。

以下是使用标签、单选按钮和提交按钮的简单示例:

...
<form action = "http://example.com/cgiscript.pl" method = "post"> 
   <p> 
      <label for = "firstname">first name: </label> 
      <input type = "text" id = "firstname"><br /> 

      <label for = "lastname">last name: </label> 
      <input type = "text" id = "lastname"><br /> 

      <label for = "email">email: </label> 
      <input type = "text" id = "email"><br> 

      <input type = "radio" name = "sex" value = "male"> Male<br> 
      <input type = "radio" name = "sex" value = "female"> Female<br> 
      <input type = "submit" value = "send"> <input type = "reset"> 
   </p> 
</form> 
...

HTML5中的输入元素(<input>元素)

除了上述属性之外,HTML5输入元素引入了 type 属性的几个新值。这些列在下面。

注意 - 请使用最新版本的 Opera 浏览器尝试以下所有示例。

序号 类型和描述
1 datetime 一个日期和时间(年,月,日,小时,分钟,秒,分数秒)按照ISO 8601编码,时区设置为UTC。
2 datetime-local 一个按ISO 8601编码的日期和时间(年,月,日,小时,分钟,秒,分数秒),没有时区信息。
3 date 按照ISO 8601编码的日期(年,月,日)。
4 month 按照ISO 8601编码的包含年份和月份的日期。
5 week 按照ISO 8601编码的包含年份和一周数的日期。
6 time 按照ISO 8601编码的时间(小时,分钟,秒,分数秒)。
7 number 只接受数值。step属性指定精度,默认为1。
8 range 用于输入框中应包含一系列数字值的input类型。
9 email 只接受电子邮件地址。此类型用于应包含电子邮件地址的输入字段。如果尝试提交简单文本,则强制输入电子邮件地址仅采用email@example.com格式。
10 url 只接受URL地址值。此类型用于输入字段应包含URL地址。如果尝试提交简单文本,则强制输入URL地址的格式为http://www.example.com 或者 http://example.com。

<output>元素

HTML5引入了一个新元素<output>,用于表示不同类型的输出结果,例如由脚本编写的输出。

您可以使用 for 属性来指定输出元素与文档中其他受计算影响的元素之间的关系(例如作为输入或参数)。 for属性的值是其他元素的ID的空格分隔列表。

<!DOCTYPE HTML>

<html>
   <head>
      <script type = "text/javascript">

         function showResult() {
            x = document.forms["myform"]["newinput"].value;
            document.forms["myform"]["result"].value = x;
         }
      </script>
   </head>

   <body>

      <form action = "/cgi-bin/html5.cgi" method = "get" name = "myform">
         Enter a value : <input type = "text"name = "newinput" />
         <input type = "button" value = "Result"  onclick = "showResult();" />
         <output name = "result"></output>
      </form>

   </body>
</html>

它将产生以下结果 −

HTML5 - Web Forms 2.0

placeholder属性

HTML5引入了一种名为 placeholder 的新属性。这个属性用于 <input><textarea> 元素,为用户提供了可以在字段中输入的提示。占位符文本不能包含回车或换行。

这是 placeholder 属性的简单语法 −

<input type="text" name="search" placeholder="搜索互联网"/>

该属性只支持最新版本的Mozilla,Safari和Chrome浏览器。

<!DOCTYPE HTML>

<html>
   <body>

      <form action="/cgi-bin/html5.cgi" method="get">
         输入电子邮件:<input type="email" name="newinput" 
            placeholder="email@example.com"/>
         <input type="submit" value="提交" />
      </form>

   </body>
</html>

这将产生以下结果 −

HTML5 - Web Forms 2.0

自动聚焦属性

这是一个简单的一步模式,可以在文档加载时使用JavaScript轻松编程,自动聚焦于一个特定的表单字段。

HTML5引入了一个名为 自动聚焦属性 ,如下所示 −

<input type="text" name="search" autofocus/>

该属性只支持最新版本的Mozilla,Safari和Chrome浏览器。

<!DOCTYPE HTML>

<html>
   <body>

      <form action="/cgi-bin/html5.cgi" method="get">
         输入电子邮件:<input type="text" name="newinput" autofocus/>
         <p>尝试使用提交按钮提交</p>
         <input type="submit" value="提交" />
      </form>

   </body>
</html>

必填属性

现在您无需使用JavaScript进行客户端验证,例如空文本框永远不会被提交,因为HTML5引入了一个名为 必填属性 required ,如下所示,并且会坚持要求填写内容。

<input type="text" name="search" required/>

该属性只支持最新版本的Mozilla,Safari和Chrome浏览器。

<!DOCTYPE HTML>

<html>
   <body>

      <form action="/cgi-bin/html5.cgi" method="get">
         输入电子邮件:<input type="text" name="newinput" required/>
         <p>尝试使用提交按钮提交</p>
         <input type="submit" value="提交" />
      </form>

   </body>
</html>

它将产生以下结果 −

HTML5 - Web Forms 2.0

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程