1. 程式人生 > >HTML5表單

HTML5表單

action 網頁 不能 use 定時 tip 顯示 b2c file

新增的input輸入類型

HTML5中增加了表單方面的諸多功能,包括增加input輸入類型、表單元素、form屬性和input屬性等。

新的input輸入類型

  • email類型的input元素是一種專門用於輸入E-mail地址的文本輸入框,在提交表單的時候,會自動驗證email輸入框的值,如果不是一個有效的E-mail地址,該輸入框不允許提交該表單。

<input type="email" name="user_email">

  • url類型的input元素提供用於輸入url地址這類特殊文本的文本框。當提交表單時,如果所輸入的內容是url地址格式的文本,則會提交數據到服務器,如果不是url地址格式的文本,則不允許提交。

<input type="url" name="user_url">

  • number類型的input元素提供用於輸入數值的文本框,可以設定所接受的數字的限制,包括規定允許的最大值和最小值、合法的數字間隔或默認值等。

<input type="number" name="number1"min="1" max="20" step="4">

max:規定允許的最大值

min:規定允許的最小值

step:規定合法的數字間隔(例如step="4",合法數字是-4、0、4、8等)

value:規定默認值

  • range類型的input元素提供用於輸入包含一定範圍內數字值的文本框,在網頁中顯示為滑動條。

<input type="range" name="range1"min="1" max="30" step="4">

max:規定允許的最大值

min:規定允許的最小值

step:規定合法的數字間隔(例如step="4",合法數字是-4、0、4、8等)

value:規定默認值

  • Date Pickers日期檢出器是網頁中經常要用到的一種控件,HTML5提供了多個可用於選取日期和時間的輸入類型,即6中日期檢出器控件,分別用於選擇以下日期格式:日期、月、星期、時間、日期+時間和日期+時間+時區。

輸入類型

HTML代碼

功能與說明

date

<input type="date">

選取日、月、年

month

<input type="month">

選取月、年

week

<input type="week">

選取周和年

time

<input type="time">

選取時間(小時和分鐘)

datetime

<input type="datetime">

選取時間、日、月、年(UTC時間)

datetime-local

<input type="datetime-local">

選取時間、日、月、年(本地時間)


date、month、week、time類型支持使用一些屬性來限定時間的大小範圍或合法的時間間隔。

  • search類型的input元素提供用於輸入搜索關鍵詞的文本框。

<input type="search" name="search1">

  • tel類型的input元素提供專門用於輸入電話號碼的文本框。它並不限定只輸入數字。

<input type="tel" name="tel1">

  • color類型的input元素提供專門用戶設置顏色的文本框。通過單擊文本框,可以快速打開拾色器面板,方便用戶可視化選擇一種顏色。

<input type="color" name="color1">

新增的input屬性

input元素不但新增了輸入類型,還新增了幾個input屬性,用於指定輸入類型的行為和限制,這些屬性分別是autocomplete、autofocus、form、formoverrides、placeholder、height和width、min和max、step、list、pattern以及required。

  • 新增的autocomplete屬性可以幫助用戶在input類型的輸入框中實現自動完成內容輸入。autocomplete屬性有3種值:on、off和空值。
  • 新增的autofocus屬性可以使得在頁面加載時,某表單控件自動獲得焦點,它是一個布爾值。這些控件可以是文本框、復選框、單選按鈕和普通按鈕等所有<input>標簽的類型。在同一頁面中只能指定一個antofocus屬性值。
  • 新增form屬性可以把表單內的從屬元素寫在頁面中的任意位置,然後只需要為這個元素指定form屬性並設置屬性值為該表單的id。

<form action="" method="get"id="form1">

如果一個form屬性要引用兩個或兩個以上的表單,則需要使用空格將表單id分隔開。

<input type="text" name="address1"form="form1 form2 form3" />

  • 新增的form override表單重新屬性,用於重寫form元素的某些屬性設定。表單重寫屬性並不適用於所有的input輸入類型,而是只適用於submit和image輸入類型。
    • formaction:用於重寫表單的action屬性(實現將表單提交到不同的頁面中去);
    • formenctype:用於重寫表單的enctype屬性;
    • formmethod:用於重寫表單的method屬性;
    • formnovalidate:用於重寫表單的novalidate屬性;
    • formtarget:用於重寫表單的target屬性
  • 新增的height和width屬性規定用於image類型的input標簽的圖像高度和寬度,只適用於image類型的input標簽。
  • 新增的datalist元素可以實現數據列表的下拉效果,外觀類似autocomplete,用戶可從列表中選擇,也可自行輸入,而list屬性用於指定輸入框所綁定的datalist元素,其值是某個datalist的id。
  • 新增的min、max、step屬性用於為包含數字或日期的input輸入類型規定限制,適用於date、pickers、number和range標簽。

max:規定輸入框所允許的最大值

min:規定輸入框所允許的最小值

step:規定輸入框合法的數字間隔

  • 新增的multiple屬性支持一次性選擇多個文件,並且該屬性同時支持新增的email類型。

選擇要上傳的多個文件:

<input type="file" name="img"multiple="multiple" />

  • 新增pattern屬性用於驗證input類型輸入框中用戶輸入的內容是否與自定義的正則表達式相匹配,適用於text、search、url、telephone、email、password等input標簽。pattern屬性允許用戶自定義一個正則表達式,但用戶的輸入必須符合正則表達式所指定的規則。
  • 新增placeholder屬性用於為input類型的輸入框提供一種提示(hint),這些提示可以描述輸入框期待用戶輸入何種內容,在輸入框為空時顯式出現,而當輸入框獲得焦點時則會消失。
  • 新增required屬性用於規定輸入框填寫的內容不能為空,否則不允許用戶提交表單。該屬性適用於以下input輸入類型:text、search、url、telephone、email、password、date pickers、number、checkbox、radio和file。

新增的form元素

HTMl5新增了幾個form元素,分別是datalist、keygen和output。

  • 新增的datalist元素用於為輸入框提供一個可選的列表,用戶可以直接選擇列表中的某一預設的項,從而免去輸入的麻煩。
  • 新增的keygen元素是密鑰對生成器(key-pair generator),能夠使用戶驗證更為可靠。

<keygen name="security"/>

技術分享

  • 新增的output元素用於在瀏覽器中顯示計算結果或腳本輸出,包含完整的開始和結束標簽。

新增的form屬性

  • 新增的autocomplete屬性用於規定form中所以元素都擁有自動完成功能
  • 新增的novalidate屬性用於在提交表單時取消整個表單的驗證,即關閉對表單內所以元素的有效性檢查

HTML5表單