首先先說一個html5中表單新增的一個功能,在我們之前的html中,表單元素必須放在form元素所包含的里面,在html5中,可以把他們寫在頁面上的任何一個地方,然后給該元素增加一個form屬性,form屬性的值為form表單的id,如下:
創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站建設、成都做網(wǎng)站與策劃設計,青山網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設10多年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:青山等地區(qū)。青山做網(wǎng)站價格咨詢:028-86922220
[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新增的表單元素,所有例子均用谷歌瀏覽器展示。
新增表單元素
email:提交表單的時候驗證輸入值是否滿足email的格式
input type="email" name="email"/
url:提交表單的時候驗證輸入值是否滿足url的格式
input type="url" name="url"/
number:根據(jù)你的設置提供選擇數(shù)字的功能,其中min為最小值,max為最大值,value為默認值,step為點擊箭頭時數(shù)字的變化量,max、min、step、value均可不寫,目前某些瀏覽器還不支持。
input type="number" name="number" min=2 max=100 step=5 value="15"/
range:會以一個滑塊的形式表現(xiàn)包含一定范圍內數(shù)字值的輸入域,max為最大值,min為最小值,value為默認值,如果沒有設置max和min,默認值是1-100
input type="range" name="range" min=20 max=200 value="60"/
日期和時間類型:
date:選取日、月、年
input type="date" name="date"/
month:選取月、年
input type="month" name="month"/
week:選取周、年
input type="week" name="week"/
time:選取小時、分鐘
input type="time" name="time"/
datetime:選取時間、日、月、年(UTC時間)(我這里瀏覽器顯示不出效果)
input type="datetime" name="datetime"/
datetime-local:選取時間、日、月、年(本地時間)
input type="datetime-local" name="datetime-local"/
search:用于搜索域,若加上result="s"屬性,則會在搜索框前面加一個搜索圖標(我這里瀏覽器顯示不出效果)
input type="search" name="search" result="s"/
tel:驗證輸入的是否是電話號碼的格式(我這里瀏覽器顯示不出效果)
input type="tel" name="tel" /
color:color類型會提供顏色拾取器,供用戶選擇顏色,并將用戶選擇的顏色填充到此元素中
input type="color" name="color"/
新增input屬性(部分容易理解的就不進行代碼演示了),后面為支持該屬性的元素
autofocus:在打開頁面時使元素自動獲取焦點 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //input,button,select,textarea
placeholder:?在用戶輸入時進行提示 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// input,textarea
form:這篇文章的開頭就有這個屬性,它用于表明元素屬于哪個表單,無論元素的位置在哪里,所屬表單都能獲取該元素的值 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//input,output,button,select,textarea,fieldset
required:表明該元素是必填項,當提交表單的時候會自動驗證該元素的內容是否不為空 ? ? ? ? ?//input,textarea
max/min/step:限制值的輸入范圍,以及值的變化程度。上面的新增number元素有介紹。 ? ? ? ?//input
autocomplete:使form元素或者input元素擁有自動完成功能,既記錄用戶之前輸入的值,關閉為off,默認為on。 ? ? ? ? ? ? ? ? ? ? ? ? ? ?//form,input
表單重寫屬性: ? ? ? ? ? ? ? ? ? ???//input
formaction:重寫表單的action屬性 ?
formenctype:重寫表單的enctype屬性。
enctype屬性管理的是表單的MIME編碼,MIME就是一種電子郵件傳輸?shù)幕ヂ?lián)網(wǎng)標準,表明傳遞的信息類型和編碼,共有三個值可選:
1,application/x-www-form-urlencoded(默認),設置表單傳輸?shù)木幋a。
2,multipart/form-data,指定傳輸數(shù)據(jù)的特殊類型,主要就是上傳的非文本內容,比如文件、圖片。
3,text/plain,純文本傳輸。
formmethod: 重寫表單的method屬性
formnovalidate:重寫表單的novalidate屬性
formtarget:重寫表單的target屬性。
比如:
[html]?view plain?copy
form?action="test.html"?method="get"?autocomplete="on"
姓名:?input?type="text"?name="name"?/br?/
密碼:?input?type="password"?name="pwd"?/br?/
input?type="submit"?formnovalidate="true"?value="提交未經(jīng)驗證"/
/form
multiple:規(guī)定輸入字段可選擇多個值 ? ? ? ? ? ? ? ? ? ?//input,select
list:list屬性的值為datalist元素的id,datalist元素類似于選擇框,在文本框獲得焦點的時候以提示輸入的方式顯示。如下:
[html]?view plain?copy
姓名:input?type="text"?name="name"?list="name"/
datalist?id="name"?
option?value="zhangsan"張三/option
option?value="lisi"李四/option
option?value-"wanger"王二/option
/datalist
pattern:驗證input輸入域的格式,即正則表達式。
input type="text" name="name" pattern="[A-z0-9]{8}"/
[img]html5 新增了的表單元素和屬性如下:
屬性:
1、 form屬性
在HTML5中表單元素可放在表單之外,通過給該元素添加form屬性即可。
2、 formaction屬性
HTML5給提交按鈕(如button、submit、image等)增加了formaction屬性,以便提交到不同的服務器地址
3、formmethod屬性
既然對提交按鈕有了formaction屬性,就相應的有了formmethod屬性
4、 placeholder屬性
給文本框(text或textarea)處于未輸入狀態(tài)時的一種文字提示
5、autofocus屬性
自動獲得焦點,一個頁面只能有一個控件具有該屬性
6、 list屬性
HTML5為單行文本框增加了一個list屬性,該屬性的值為某個datalist元素的id,增加該屬性后的單行文本框類似選擇框(select),但允許用戶自定義輸入,為了避免沒有支持該蒜素的瀏覽器出現(xiàn)錯誤,我們通常使用CSS設置不顯示
6、autocomplete屬性
自動完成允許瀏覽器預測對字段的輸入,在HTML5之前自動完成不能自定義設置,任何人都可以看到,所以存在安全隱患,在HTML5中可以通過此屬性來指定“on”、”off“或“”(不指定)三種,不指定時使用瀏覽器的默認值,這取決于各瀏覽器的決定。
元素:
HTML5大幅度地增加和改良了input元素的種類
search 與text文本框類似,用于搜索;
tel 與text文本框類似,用于電話;
url 與text文本框類似,用于url格式的地址;
email 與text文本框類似,用于email格式的地址;
number 與text文本框類似,用于數(shù)值;
range 只允許輸入一段范圍內的數(shù)值,通過min和max屬性來設置范圍;
color 顏色文本框,“#000000”格式的文字;
file 文件選擇文本框,HTML5中通過multiple屬性可以多選;
datetime、date、month、week、time、datetime-local 各種日期與時間輸入的文本框;
output 定義不同類型的輸出;
表單驗證
自動驗證
所謂自動驗證,就是通過為元素添加相應的屬性來達到驗證的要求
1、 required屬性
具有該屬性的元素,如果其內容為空則不允許提交,并給出相應的提示
2、pattern屬性
具有該屬性的元素,如果內容不為空則把內容與pattern的值進行正則匹配,匹配不成功則不通過并提示
3、min屬性和max屬性
它們是值類型和日期類型的input元素專用屬性,限制了輸入的范圍
4、 step屬性
控制元素的值增加或減少的步幅,如輸入11-100之間的數(shù)字,且步幅是5,那么只能輸入11、16、21....
顯示驗證
除了給元素添加屬性來自動驗證外,在HTML5中,form元素與輸入元素(input)包括select元素和textarea都具有一個checkValidity方法,調用該方法可以進行手動驗證,checkValidity方法以boolean的形式返回驗證結果。
取消驗證
取消表單驗證有兩個屬性:用于form的novalidate和用于submit的formnovalidate:
自定義錯誤
在HTML5中沒經(jīng)過驗證的表單瀏覽器會有默認的提示,但也提供了通過JavaScript的來設置自定義錯誤提示信息
增強的頁面元素
1、figure元素
figure是個組合元素,可以帶標題figcaption,一個figure只允許放置一個figcaption
2、details元素
details提供了一種替代Javascript的、將畫面上局部區(qū)域進行展開或收縮的方法
3 、mark元素
mark元素表示頁面需要突出顯示或高亮顯示的部分,經(jīng)典的是搜索結果
4、progress元素
可以給progress設置value和max屬性,value表示已經(jīng)進行的,max表示總數(shù),value和max只能為有效的浮點數(shù),value必須大于0小于等于max。如果不給progress設置這兩個屬性,則是動態(tài)顯示正在進行,進度不確定。
5、 meter元素
定義度量衡
6、改良的ol列表
在HTML5中為ol元素添加了start屬性和reversed屬性
7、改良的dl列表
dl是專門用來定義術語的列表,在HTML5中為dt增加了名字dfn
8、 另外還有cite用于表示作者,small用于標識“小型文本”等
新的input的類型有。
email(自動驗證email格式)
url(自動驗證url格式)
number(只能輸入數(shù)字)
range(類似音量滑動條)
Date pickers (date, month, week, time, datetime, datetime-local)(自帶日期選擇)
search(搜索域)
color(顏色選擇)
datalist(自動驗證內容是否在可選擇選項中)
html5是指萬維網(wǎng)的核心語言、 標準通用標記語言下的一個應用?超文本標記語言的第五次重大修改。
2014年10月29日,?萬維網(wǎng)聯(lián)盟宣布,經(jīng)過接近8年的艱苦努力,該標準規(guī)范終于制定完成。
HTML5的設計目的是為了在移動設備上支持多媒體。新的語法特征被引進以支持這一點,如video、audio和canvas 標記。
HTML5還引進了新的功能,可以真正改變用戶與文檔的交互方式,包括新的解析規(guī)則增強了靈活性、新屬性、淘汰過時的或冗余的屬性等。
標準通用標記語言下的一個應用 HTML標準自1999年12月發(fā)布的HTML4.01后,后繼的HTML5和其它標準被束之高閣,為了推動Web標準化運動的發(fā)展,一些公司聯(lián)合起來,成立了一個叫做 Web Hypertext 。
html5新增的表單元素有以下幾種:
datalist,keygen,output三種無素。
1.datalist 元素
datalist 元素規(guī)定輸入域的選項列表。
列表是通過 datalist 內的 option 元素創(chuàng)建的。
如需把 datalist 綁定到輸入域,請用輸入域的 list 屬性引用 datalist 的 id。
2.keygen 元素
keygen 元素的作用是提供一種驗證用戶的可靠方法。
keygen 元素是密鑰對生成器(key-pair generator)。當提交表單時,會生成兩個鍵,一個是私鑰,一個公鑰。
私鑰(private key)存儲于客戶端,公鑰(public key)則被發(fā)送到服務器。公鑰可用于之后驗證用戶的客戶端證書(client certificate)。
3.output 元素
output 元素用于不同類型的輸出,比如計算或腳本輸出。
根據(jù)具體問題類型,進行步驟拆解/原因原理分析/內容拓展等。
具體步驟如下:/導致這種情況的原因主要是……