這一篇介紹html5新增的表單元素和表單屬性。
首先先說一個html5中表單新增的一個功能,在我們之前的html中,表單元素必須放在form元素所包含的里面,在html5中,可以把他們寫在頁面上的任何一個地方,然后給該元素增加一個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ī)定輸入域的選項列表。
<datalist> 屬性規(guī)定 form 或 input 域應該擁有自動完成功能。當用戶在自動完成域中開始輸入時,瀏覽器應該在該域中顯示填寫的選項:
使用 <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 標簽。</p> </body> </html>
HTML5 <keygen> 元素
<keygen> 元素的作用是提供一種驗證用戶的可靠方法。
<keygen>標簽規(guī)定用于表單的密鑰對生成器字段。
當提交表單時,會生成兩個鍵,一個是私鑰,一個公鑰。
私鑰(private key)存儲于客戶端,公鑰(public key)則被發(fā)送到服務器。公鑰可用于之后驗證用戶的客戶端證書(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 標簽。</p> </body> </html>
HTML5 <output> 元素
<output> 元素用于不同類型的輸出,比如計算或腳本輸出:
<!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 標簽。</p> </body> </html>
HTML5 新表單元素