5 HTML5中改良的input元素的種類(上)
在HTML5中映砖,除了form表單元素增加了一些好用的屬性外夏伊,大幅度增加與改良input元素的種類,可以簡單地使用這些元素來實(shí)現(xiàn)HTML5之前需要使用JavaScript才能實(shí)現(xiàn)的許多功能说铃。
對于不支持新增input元素的瀏覽器來說佑惠, 統(tǒng)一將這些input元素視為text類型,另外萍虽,HTML5中也沒有規(guī)定這些元素在各瀏覽中的外觀形式睛廊, 所以同樣的input元素在不同的瀏覽器中可能會(huì)有不同的外觀。
Search
search類型的input元素是一種專門用來輸入搜索關(guān)鍵詞的文本框杉编。 Search類型與text類型僅僅在外觀上有區(qū)別超全,在Safari 4瀏覽器中, 它的外觀為操作系統(tǒng)默認(rèn)的圓角矩形文本框王财, 但這個(gè)外觀可以用CSS 樣式進(jìn)行改寫卵迂。在其他瀏覽中,它的外觀暫與text類型的文本框外觀相同绒净,但可以用css樣式進(jìn)行改寫见咒。
Tel
被設(shè)計(jì)為用來輸入電話號碼的專用文本框,它沒有特殊的校驗(yàn)規(guī)則挂疆,不強(qiáng)制輸入數(shù)字改览,因?yàn)樵S多電話號碼通常都帶有其它文字下翎,但開發(fā)者可以通過pattern屬性來指定對于輸入的電話號碼格式的驗(yàn)證。
url
是一種專門用來輸入url地址的文本框宝当, 提交時(shí)如果該文本框中內(nèi)容不是url地址格式的文字视事, 則不允許提交。
Email
是一種專門用來輸入email地址的文本框, 提交時(shí)如果該文本框中內(nèi)容不是email地址格式的文字則不允許提交庆揩,但是它并不檢查該email地址是否存在俐东,提交時(shí)該文本框可以為空,除非加了required屬性订晌。Email類型的文本框還具有一個(gè)multiple 屬性虏辫,它允許在該文本框中輸入一個(gè)串以逗號分隔的email地址米碰。當(dāng)然并不強(qiáng)制要求用戶輸入該email地址列表信峻。
Datetime, date, month, week, time, datetime-local
datetime類型的input元素是一種專門用來輸入U(xiǎn)TC日期和時(shí)間的文本框, 并且在提交時(shí)對輸入的日期格式進(jìn)行有效檢查复唤。
date類型的input元素是深受開發(fā)者喜愛的一種元素奕枢,以日歷的形式方便用戶輸入娄昆。
month類型的input元素是一種專門用來輸入月份的文本框,并且在提交時(shí)對輸入的月份格式進(jìn)行有效檢查缝彬。
week類型的input元素是一種專門用來輸入周號的文本框萌焰,并且在提交時(shí)對輸入的周號格式進(jìn)行有效檢查。它可能是一個(gè)簡單的輸入文本框跌造,允許用戶輸入一個(gè)數(shù)字杆怕,也可能更復(fù)雜更精確族购。它的格式類型似于“2014-W10”壳贪,代表2014年第10周。
time類型的input元素是一種專門用來輸入時(shí)間的文本框寝杖,并且在提交時(shí)對輸入的時(shí)間格式進(jìn)行有效檢查违施。它的外觀取決于瀏覽器,可能是簡單的文本框瑟幕, 只是提交時(shí)檢查是否在其中輸入了有效的時(shí)間磕蒲,也可能以時(shí)鐘形式出現(xiàn), 還可以攜帶時(shí)區(qū)只盹。
datetime-local類型的input元素是一種專門用來輸入本地日期和時(shí)間的文本框辣往,并且在提交時(shí)對輸入的日期和時(shí)間格式進(jìn)行有效檢查。
Number
number類型的input元素是一種專門用來輸入數(shù)字的文本框殖卑,并且在提交時(shí)檢查輸入的內(nèi)容是否為數(shù)字站削。它具有min、max與step屬性孵稽。
Range
是一種只允許輸入一段范圍內(nèi)數(shù)值的文本框许起,它具有min十偶、max與step屬性,默認(rèn)范圍是0與100园细。
Color
用來選擇顏色惦积,它提供了一個(gè)顏色選擇器。
File
文件選擇文本框猛频, 與HTML4最大的不同是狮崩,可以通過指定multiple屬性,一次選擇多個(gè)文件鹿寻, value屬性的值為用逗號分隔的一個(gè)或多個(gè)文件名厉亏。 同時(shí),通過把MIME類型指定給accept屬性烈和,可以限制選擇文件的種類爱只。
在HTML5追加了新的output元素, 也增加了大量在提交時(shí)對表單與表單內(nèi)新增元素進(jìn)行內(nèi)容有效性驗(yàn)證的功能招刹。其中output元素定義不同類型的輸出恬试,比如計(jì)算結(jié)果或腳本的輸出。output元素必須從屬于某個(gè)表單疯暑, 寫在表單的內(nèi)部训柴,或者對它添加form屬性,目前妇拯,只被Opera 10瀏覽器支持幻馁。output結(jié)合range元素使用代碼如下:
在開發(fā)階段我們可能想把表單臨時(shí)提交一下, 又不想讓它進(jìn)行表單中所有元素內(nèi)容的有效性檢查越锈,有兩種方法可以取消表單驗(yàn)證仗嗦。一種是在form元素中使用novalidate屬性, 讓整個(gè)表單驗(yàn)證全都失效甘凭, 另一種是利用input元素中使用formnovalidate屬性稀拐,讓指定的單個(gè)input元素驗(yàn)證失效。
from.html
<meta charset="utf-8">
<style>
input[type="search"] {-webkit-appearance:textfield;}
</style>
<form action="demo.php">
<input type="text" name="username"><br>
<input type="search" name="ser"> <br>
tel: <input type="tel" name="num" title="只能輸入10位數(shù)字" pattern="^((\+86)|(86))?(13)\d{9}$"><br>
<br>
<input type="submit" name="dosubmit" value="提交">
</form>