這一篇介紹html5新增的表單元素和表單屬性。
首先先說(shuō)一個(gè)html5中表單新增的一個(gè)功能,在我們之前的html中,表單元素必須放在form元素所包含的里面,在html5中,可以把他們寫(xiě)在頁(yè)面上的任何一個(gè)地方,然后給該元素增加一個(gè)form屬性,form屬性的值為form表單的id,如下:
[html] view plain copy <form method="get" id="test"> <input type="text" name="name"/> <input type="password" name="password"/> <input type="submit" value="提交"> </form> <input type="text" name="confirm" form="test">
在form元素里面的表單元素可以不用添加form屬性,如果你想利用form獲取所有表單元素的值,那么在form元素外面的表單元素就必須添加form屬性,input、select、textarea等元素都滿足該功能。
HTML5 有以下新的表單元素:
?<datalist>
?<keygen>
?<output>
注意:不是所有的瀏覽器都支持HTML5 新的表單元素,但是你可以在使用它們,即使瀏覽器不支持表單屬性,仍然可以顯示為常規(guī)的表單元素。
HTML5 <datalist> 元素
<datalist> 元素規(guī)定輸入域的選項(xiàng)列表。
<datalist> 屬性規(guī)定 form 或 input 域應(yīng)該擁有自動(dòng)完成功能。當(dāng)用戶在自動(dòng)完成域中開(kāi)始輸入時(shí),瀏覽器應(yīng)該在該域中顯示填寫(xiě)的選項(xiàng):
使用 <input> 元素的列表屬性與 <datalist> 元素綁定.
<!DOCTYPE html> <html> <body> <form action="demo-form.php" method="get"> <input list="browsers" name="browser"> <datalist id="browsers"> <option value="Internet Explorer"> <option value="Firefox"> <option value="Chrome"> <option value="Opera"> <option value="Safari"> </datalist> <input type="submit"> </form> <p><strong>注意:</strong> Internet Explorer 9(更早IE版本),Safari不支持 datalist 標(biāo)簽。</p> </body> </html>
HTML5 <keygen> 元素
<keygen> 元素的作用是提供一種驗(yàn)證用戶的可靠方法。
<keygen>標(biāo)簽規(guī)定用于表單的密鑰對(duì)生成器字段。
當(dāng)提交表單時(shí),會(huì)生成兩個(gè)鍵,一個(gè)是私鑰,一個(gè)公鑰。
私鑰(private key)存儲(chǔ)于客戶端,公鑰(public key)則被發(fā)送到服務(wù)器。公鑰可用于之后驗(yàn)證用戶的客戶端證書(shū)(client certificate)。
<!DOCTYPE html> <html> <body> <form action="demo_keygen.php" method="get"> 用戶名: <input type="text" name="usr_name"> 加密: <keygen name="security"> <input type="submit"> </form> <p><strong>注意:</strong> Internet Explorer 不支持 keygen 標(biāo)簽。</p> </body> </html>
HTML5 <output> 元素
<output> 元素用于不同類型的輸出,比如計(jì)算或腳本輸出:
<!DOCTYPE html> <html> <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 標(biāo)簽。</p> </body> </html>
HTML5 新表單元素