HTML5拥有若干涉及表单的元素和属性。
HTML5 有以下新的表单元素:
<datalist>
<keygen>
<output>
注意:不是所有的浏览器都支持HTML5 新的表单元素,但是你可以在使用它们,即使浏览器不支持表单属性,仍然可以显示为常规的表单元素。
<datalist> 元素规定输入域的选项列表。
<datalist> 属性规定 form 或 input 域应该拥有自动完成功能。当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项:
使用 <input> 元素的列表属性与 <datalist> 元素绑定.
<input> 元素使用<datalist>预定义值:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基础教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php" method="get"> <input list="languages" name="language"> <datalist id="languages"> <option value="C++"> <option value="PHP"> <option value="Golang"> <option value="Python"> <option value="Ruby"> </datalist> <input type="submit"> </form> <p><strong>注意:</strong> Internet Explorer 9(更早 IE 版本),Safari 不支持 datalist 标签。</p> </body> </html>测试看看 ‹/›
<keygen> 元素的作用是提供一种验证用户的可靠方法。
<keygen>标签规定用于表单的密钥对生成器字段。
当提交表单时,会生成两个键,一个是私钥,一个公钥。
私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。公钥可用于之后验证用户的客户端证书(client certificate)。
带有keygen字段的表单:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基础教程(cainiaoplus.com)</title> </head> <body> <form action="demo_form.php" method="get"> 用户名: <input type="text" name="username"> 加密: <keygen name="security_keygen"> <input type="submit"> </form> <p><strong>注意:</strong> Internet Explorer 不支持 keygen 标签。</p> </body> </html>测试看看 ‹/›
<output> 元素用于不同类型的输出,比如计算或脚本输出:
将计算结果显示在 <output> 元素:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基础教程(cainiaoplus.com)</title> </head> <body> <form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0 <input type="range" id="a" value="50">100 +<input type="number" id="b" value="50"> =<output name="x" for="a b"></output> </form> <p><strong>注意:</strong> Internet Explorer 不支持 output 标签。</p> </body> </html>测试看看 ‹/›
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Html5中的智能表单 (cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> <fieldset> <legend>Html5中的智能表单</legend> <label for="email"> email:<input type="email" name="email" id="email"/> </label> <label for="tel"> tel:<input type="tel" name="tel" id="tel"/> </label> <label for="url"> url:<input type="url" name="" id="url"/> </label> <label for="number"> number:<input type="number" name="" id="number" step="3"/> </label> <label for="search"> search:<input type="search" name="" id="search"/> </label> <label for="range"> range:<input type="range" name="" id="range" value="60" min="0" max="100"/> </label> <label for="color"> color:<input type="color" name="" id="color"/> </label> <label for="time"> time:<input type="time" name="" id="time"/> </label> <label for="date"> date:<input type="date" name="" id="date"/> </label> <label for="month"> month:<input type="month" name="" id="month"/> </label> <label for="week"> week:<input type="week" name="" id="week"/> </label> <input type="submit" value="提交"/> </fieldset> </form> </body> </html>测试看看 ‹/›
标签 | 描述 |
<datalist> | <input>标签定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。 |
<keygen> | <keygen> 标签规定用于表单的密钥对生成器字段。 |
<output> | <output> 标签定义不同类型的输出,比如脚本的输出。 |