一、HTML5表單的特點:
- HTML5 表單增加了許多內置的控件和控件屬性
- XHTML 中需要放在 form 之中的諸如 input/button/select/textarea 等標簽元素,在 HTML 5 中完全可以放在頁面任何位置,並通過新增的 form 屬性指向元素所屬表單的 ID 值,即可關聯起來。
二、HTML5新增的控件類型:
- email輸入類型:
<input type="email" name="email" />
要求輸入格式正確的 email 地址,否則瀏覽器不允許提交,同時會提示錯誤信息
- url輸入類型:
<input type="url" />
要求輸入格式正確的 URL 地址,Opera 中會自動在開始處添加 http:// - 日期時間相關輸入類型:
<input type="date" />
<input type="time" />
<input type="month" />
<input type="week" />
目前 MS 只有 Opera/Chrome 新版本支持,且展示效果也不一樣 - number輸入類型:
<input type="number" />
要求輸入格式正確的數字
- range類型:
<input type="range" step="2" min="0" max="10" value="2" />
顯示一個可拖動的滑塊條,通過設定 max/min/step 值限定拖動范圍,拖動時會反饋給value一個值
- search輸入類型:
<input type="search" />
輸入一個搜索關鍵字,通過 results=s 可顯示一個搜索小圖標
- tel輸入類型:
<input type="tel" />
要求輸入一個電話號碼,但實際上並沒有特殊的驗證,與 text 類型沒什么區別
- color輸入類型:
<input type="color" />
可讓用戶通過顏色選擇器選擇一個顏色值,並反饋到value中
三、HTML5新增的表單屬性:
- placeholder屬性:
<input type="text" placeholder="點擊我會清除" />
實現點擊清除表單初始值,MS 除了 Firefox,其他標 准瀏覽器都能很好的支持
- require/pattern屬性:
<input type="text" name="require" required="" />
<input type="text" name="require1" required="required" />
<input type="text" name="require2" pattern="^[1-9]\d{5}$" />
表單驗證屬性require 類型時,若輸入值為空,則拒絕提交並出現提示,注意在 Opera 中必須指定 name 值,否則無效果。
- autofocus屬性:
<input type="text" autofocus="true" />
默認聚焦屬性,可在頁面加載時聚焦到一個表單控件,類似於 JS 的 focus()
- list屬性:
<input type="text" list="ilist"> <datalist id="ilist"> <option label="a"></option> <option label="b"></option> <option label="c"></option> </datalist> </input>
需要與datalist屬性共用,datalist是對選擇框的記憶,而list屬性可以為選擇框自定義記憶的內容
- max/min/step屬性:
<input type="range" max="100" min="1" step="20" />
限制值的輸入范圍,以及值的輸入漸進程度,比如可在 number 設定輸入最大值最小值,或在 range 中設定拖動階梯
- autocomplete屬性:
<input type="text" autocomplete="on" />
此屬性是為表單提供自動完成功能,如果該屬性為打開狀態可很好地自動完成,一般來說,此屬性必須啟動瀏覽器的自動完成功能
- data屬性:
<select data="http://XX.com/"></select>
HTML5 支持 data 屬性,為 select 控件外聯數據源,可以在 select 下拉別表動態的添加來自數據庫的各組選項, 比如說國家、省市列表等等。
- XML Submission編碼格式:
常見的是 Web Form 的編碼格式是 application/x-www-form-urlencoded。 這種格式將數據送到服務器端,可以方便的存取。HTML5 提供一種新的數據格式:XML Submission,即 application/x-www-form+xml。簡單的舉例說,服務器端將直接接收到 XML 形式的表單數據。