HTML5新增加了一些表單屬性,form增加了autocomplete和novalidate,input控件增加了autocomplete、autofocus、form、formaction、formenctype、formmethod、formnovalidate、formtarget、height 與 width、list、min 與 max、multiple、pattern (regexp)
HTML5 的 <form> 和 <input>標簽添加了幾個新屬性.
<form>新屬性:
autocomplete
novalidate
<input>新屬性:
autocomplete
autofocus
form
formaction
formenctype
formmethod
formnovalidate
formtarget
height 與 width
list
min 與 max
multiple
pattern (regexp)
placeholder
required
step
autocomplete 屬性規(guī)定 form 或 input 域應(yīng)該擁有自動完成功能。
當用戶在自動完成域中開始輸入時,瀏覽器應(yīng)該在該域中顯示填寫的選項。
提示: autocomplete 屬性有可能在 form元素中是開啟的,而在input元素中是關(guān)閉的。
注意: autocomplete 適用于 <form> 標簽,以及以下類型的 <input> 標簽:text, search, url, telephone, email, password, datepickers, range 以及 color。
HTML form 中開啟 autocomplete (一個 input 字段關(guān)閉 autocomplete ):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php" autocomplete="on"> First name:<input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> E-mail: <input type="email" name="email" autocomplete="off"><br> <input type="submit"> </form> <p>填寫并提交表單,然后重新刷新頁面查看如何自動填充內(nèi)容。</p> <p>注意 form 的 autocomplete 屬性為 "on"(開),但是 e-mail 自動為“off”(關(guān))。</p> </body> </html>測試看看 ?/?
提示:某些瀏覽器中,您可能需要啟用自動完成功能,以使該屬性生效。
novalidate 屬性是一個 boolean(布爾) 屬性.
novalidate 屬性規(guī)定在提交表單時不應(yīng)該驗證 form 或 input 域。
無需驗證提交的表單數(shù)據(jù)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php" novalidate> E-mail: <input type="email" name="user_email"> <input type="submit"> </form> <p><strong>注意:</strong>在 Safari 和 Internet Explorer 9 及之前的版本中不支持 novalidate 屬性。</p> </body> </html>測試看看 ?/?
autofocus 屬性是一個 boolean 屬性.
autofocus 屬性規(guī)定在頁面加載時,域自動地獲得焦點。
讓 "First name" input 輸入域在頁面載入時自動聚焦:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> First name: <input type="text" name="fname" autofocus><br> Last name: <input type="text" name="lname"><br> <input type="submit"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 標簽的 autofocus 屬性。</p> </body> </html>測試看看 ?/?
form 屬性規(guī)定輸入域所屬的一個或多個表單。
提示:如需引用一個以上的表單,請使用空格分隔的列表。
位于form表單外的 input 字段引用了 HTML form (該 input 表單仍然屬于form表單的一部分):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php" id="form1"> First name: <input type="text" name="fname"><br> <input type="submit" value="提交"> </form> <p> "Last name" 字段沒有在 form 表單之內(nèi),但它也是 form 表單的一部分。</p> Last name: <input type="text" name="lname" form="form1"> <p><b>注意:</b> IE 不支持 form 屬性</p> </body> </html>測試看看 ?/?
The formaction 屬性用于描述表單提交的URL地址.
The formaction 屬性會覆蓋<form> 元素中的action屬性.
注意: The formaction 屬性用于 type="submit" 和 type="image".
以下HTMLform表單包含了兩個不同地址的提交按鈕:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="提交"><br> <input type="submit" formaction="demo-admin.php" value="提交"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 標簽的 formaction 屬性。</p> </body> </html>測試看看 ?/?
formenctype 屬性描述了表單提交到服務(wù)器的數(shù)據(jù)編碼 (只對form表單中 method="post" 表單)
formenctype 屬性覆蓋 form 元素的 enctype 屬性。
主要: 該屬性與 type="submit" 和 type="image" 配合使用。
第一個提交按鈕已默認編碼發(fā)送表單數(shù)據(jù),第二個提交按鈕以 "multipart/form-data" 編碼格式發(fā)送表單數(shù)據(jù):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-post-enctype.php" method="post"> First name: <input type="text" name="fname"><br> <input type="submit" value="提交"> <input type="submit" formenctype="multipart/form-data" value="以 Multipart/form-data 提交"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 標簽的 formenctype 屬性。</p> </body> </html>測試看看 ?/?
formmethod 屬性定義了表單提交的方式。
formmethod 屬性覆蓋了 <form> 元素的 method 屬性。
注意: 該屬性可以與 type="submit" 和 type="image" 配合使用。
重新定義表單提交方式示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php" method="get"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="提交"> <input type="submit" formmethod="post" formaction="demo-form.php" value="使用 POST 提交"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 標簽的 formmethod 屬性。</p> </body> </html>測試看看 ?/?
novalidate 屬性是一個 boolean 屬性.
novalidate屬性描述了 <input> 元素在表單提交時無需被驗證。
formnovalidate 屬性會覆蓋 <form> 元素的novalidate屬性.
注意: formnovalidate 屬性與type="submit一起使用
兩個提交按鈕的表單(使用與不適用驗證 ):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> E-mail: <input type="email" name="userid"><br> <input type="submit" value="提交"><br> <input type="submit" formnovalidate="formnovalidate" value="不驗證提交"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本,或 Safari 不支持 input 標簽的 formnovalidate 屬性。</p> </body> </html>測試看看 ?/?
formtarget 屬性指定一個名稱或一個關(guān)鍵字來指明表單提交數(shù)據(jù)接收后的展示。
The formtarget 屬性覆蓋 <form>元素的target屬性.
注意: formtarget 屬性與type="submit" 和 type="image"配合使用.
兩個提交按鈕的表單, 在不同窗口中顯示:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="正常提交"> <input type="submit" formtarget="_blank" value="提交到一個新的頁面上"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 標簽的 formtarget 屬性。</p> </body> </html>測試看看 ?/?
height 和 width 屬性規(guī)定用于 image 類型的 <input> 標簽的圖像高度和寬度。
注意: height 和 width 屬性只適用于 image 類型的<input> 標簽。
提示:圖像通常會同時指定高度和寬度屬性。如果圖像設(shè)置高度和寬度,圖像所需的空間 在加載頁時會被保留。如果沒有這些屬性, 瀏覽器不知道圖像的大小,并不能預(yù)留 適當?shù)目臻g。圖片在加載過程中會使頁面布局效果改變 (盡管圖片已加載)。
定義了一個圖像提交按鈕, 使用了 height 和 width 屬性:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="image" src="login_button.gif" alt="Submit"> </form> </body> </html>測試看看 ?/?
list 屬性規(guī)定輸入域的 datalist。datalist 是輸入域的選項列表。
在 <datalist>中預(yù)定義 <input> 值:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <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>測試看看 ?/?
min、max 和 step 屬性用于為包含數(shù)字或日期的 input 類型規(guī)定限定(約束)。
注意: min、max 和 step 屬性適用于以下類型的 <input> 標簽:date pickers、number 以及 range。
<input> 元素最小值與最大值設(shè)置:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> 輸入 1980-01-01 之前的日期: <input type="date" name="bday" max="1979-12-31"><br> 輸入 2000-01-01 之后的日期: <input type="date" name="bday" min="2000-01-02"><br> 數(shù)量 (在1和5之間): <input type="number" name="quantity" min="1" max="5"><br> <input type="submit"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本,F(xiàn)irefox 不支持 input 標簽的 max 和 min 屬性。</p> <p><strong>注意:</strong> 在 Internet Explorer 10中 max 和 min 屬性不支持輸入日期和時間,IE 10 不支持這些輸入類型。</p> </body> </html>測試看看 ?/?
multiple 屬性是一個 boolean 屬性.
multiple 屬性規(guī)定<input> 元素中可選擇多個值。
注意: multiple 屬性適用于以下類型的 <input> 標簽:email 和 file:
上傳多個文件:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> 選擇圖片: <input type="file" name="img" multiple> <input type="submit"> </form> <p>嘗試選取一張或者多種圖片。</p> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 標簽的 multiple 屬性。</p> </body> </html>測試看看 ?/?
pattern 屬性描述了一個正則表達式用于驗證 <input> 元素的值。
注意:pattern 屬性適用于以下類型的 <input> 標簽: text, search, url, tel, email, 和 password.
提示: 是用來全局 title 屬性描述了模式.
下面的示例顯示了一個只能包含三個字母的文本域(不含數(shù)字及特殊字符):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code"> <input type="submit"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本,或 Safari 不支持 input 標簽的 pattern 屬性。</p> </body> </html>測試看看 ?/?
placeholder 屬性提供一種提示(hint),描述輸入域所期待的值。
簡短的提示在用戶輸入值前會顯示在輸入域上。
注意: placeholder 屬性適用于以下類型的 <input> 標簽:text, search, url, telephone, email 以及 password。
input 字段提示文本t:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> <input type="text" name="fname" placeholder="First name"><br> <input type="text" name="lname" placeholder="Last name"><br> <input type="submit" value="提交"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 標簽的 placeholder 屬性。</p> </body> </html>測試看看 ?/?
required 屬性是一個 boolean 屬性.
required 屬性規(guī)定必須在提交之前填寫輸入域(不能為空)。
注意:required 屬性適用于以下類型的 <input> 標簽:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。
不能為空的input字段:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> Username: <input type="text" name="usrname" required> <input type="submit"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本,或 Safari 不支持 input 標簽的 required 屬性。</p> </body> </html>測試看看 ?/?
step 屬性為輸入域規(guī)定合法的數(shù)字間隔。
如果 step="3",則合法的數(shù)是 -3,0,3,6 等
提示: step 屬性可以與 max 和 min 屬性創(chuàng)建一個區(qū)域值.
注意: step 屬性與以下type類型一起使用: number, range, date, datetime, datetime-local, month, time 和 week.
規(guī)定input step步長為3:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基礎(chǔ)教程(cainiaoplus.com)</title> </head> <body> <form action="demo-form.php"> <input type="number" name="points" step="3"> <input type="submit"> </form> <p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本,或 Firefox 不支持 input 標簽的 step 屬性。</p> </body> </html>測試看看 ?/?
標簽 | 描述 |
<form> | 定義一個form表單 |
<input> | 定義一個 input 域 |