本節(jié)重點(diǎn)
- HTML5中添加了許多新特性的表單元素
- 表單元素主要表現(xiàn)在 元素Element + 類型Type + 屬性attribute
表單元素匯總解析
- 表單元素列表
元素名稱 | 說明 |
---|---|
form | 表示 HTML 表單 |
input | 表示用來收集用戶輸入數(shù)據(jù)的控件 |
textarea | 表示可以輸入多行文本的控件 |
select | 表示用來提供一組固定的選項(xiàng) |
option | 表示提供提供一個(gè)選項(xiàng) |
optgroup | 表示一組相關(guān)的 option 元素 |
button | 表示可用來提交或重置的表單按鈕(或一般按鈕) |
datalist | 定義一組提供給用戶的建議值 |
fieldset | 表示一組表單元素 |
legend | 表示 fieldset 元素的說明性標(biāo)簽 |
label | 表示表單元素的說明標(biāo)簽 |
output | 表示計(jì)算結(jié)果 |
- 其他表單元素
元素名稱 | 說明 |
---|---|
select | 生成一個(gè)下拉列表進(jìn)行選擇 |
optgroup | 對(duì) select 元素進(jìn)行編組 |
option | select 元素中的項(xiàng)目 |
textarea | 生成一個(gè)多行文本框 |
output | 表示計(jì)算結(jié)果 |
-
表單元素解析
表單元素有許多共有的屬性糊啡,大家注意分辨 不同
表單元素的特有屬性
1.form 表單解析
<form method="post" action="http://www.haosou.com/">
<button>提交</button>
</form>
form 表單的屬性
屬性名稱 | 說明 |
---|---|
action | 表單需要提交的頁面 |
method | 表單需要提交的方式 get/post |
entype |
entype與文件上傳息息相關(guān) <br /> 1. application/x-www-form-urlencoded(默認(rèn)編碼茅撞,不能將進(jìn)行文件上傳) 2. multipart/form-data (用于將文件上傳到服務(wù)器的編碼) <br /> 3. text/plain (未規(guī)范編碼,不建議使用) |
name | 表單名稱,建議書寫洲押,用于程序識(shí)別表單 |
target | 設(shè)置提交時(shí)的目標(biāo)位置:_blank、_parent、_self、_top |
autocomplete | 設(shè)置瀏覽器記住用戶輸入的數(shù)據(jù),實(shí)現(xiàn)自動(dòng)完成表單卸伞。<br />默認(rèn)為on 自動(dòng)完成 , 如果不想自動(dòng)完成則設(shè)置 off。 |
novalidate | 是否進(jìn)行表單的有效性檢查(瀏覽器m默認(rèn)的檢查效果) |
2.input 表單的屬性
屬性名稱 | 說明 |
---|---|
autofocues | 讓光標(biāo)聚焦在input上锉屈,可以讓用戶直接輸入 |
disable | 禁用input,(禁止用戶輸入) |
autocomplete | 設(shè)置input的自動(dòng)完成功能 |
form |
設(shè)置表單掛鉤 讓表單外的元素設(shè)置表單掛鉤提交 |
type | 元素的 type 屬性是最多的 |
3.<label>
設(shè)置表單說明
<label for="user">用戶名:</label>
4.<fieldset>
對(duì)表單進(jìn)行編組
`<fieldset>`元素可以將一些表單元素組織在一起,形成一個(gè)整體,并且可與外部掛鉤
屬性名稱 | 說明 |
---|---|
name | 給分組定義一個(gè)名稱 |
form | 讓表單外的分組與表單掛鉤
|
disabled | 禁用分組內(nèi)的表單 |
5.<legend>
添加分組說明標(biāo)簽
<fieldset>
<legend>注冊(cè)表單</legend>
</fieldset>
6.<button>
添加按鈕
button 按鈕的type 屬性有如下幾個(gè)值:
值名稱 | 說明 |
---|---|
submit | 表示按鈕的作用是提交表單,默認(rèn) |
reset | 表示按鈕的作用是重置表單 |
button | 表示按鈕為一般性按鈕,沒有任何作用 |
button 的 type = submit 時(shí)會(huì)提供額外的屬性 主要用作覆蓋已有的 form 表單屬性
屬性名稱 | 說明 |
---|---|
form | 指定按鈕關(guān)聯(lián)的表單 |
formaction | 覆蓋 form 元素的 action 屬性 |
formenctype | 覆蓋 form 元素的 enctype 屬性 |
formmethod | 覆蓋 form 元素的 method 屬性 |
formtarget | 覆蓋 form 元素的 target 屬性 |
formnovalidate | 覆蓋 form 元素的 novalidate 屬性 |
表單元素(主要為 Input)的類型 Type
input 表單的屬性用于 限制表單的內(nèi)容 + 表單的樣式
1.表單的屬性匯總
屬性 | 說明 |
---|---|
text | 簡單的文本框荤傲,input的默認(rèn)行為 |
password | 密碼框 |
search | 搜索框 |
submit 、reset 颈渊、button | 提交按鈕遂黍、重置按鈕终佛、普通按鈕 |
number range | 只能輸入數(shù)字的按鈕,range 用于設(shè)置數(shù)字范圍 |
checkbox 妓湘、radio | 復(fù)選框查蓉,單選框 |
image | 生成一個(gè)圖片按鈕 |
color | 生成顏色代碼的按鈕 |
email、tel榜贴、url | 生成一個(gè)檢測(cè)電子郵件、號(hào)碼妹田、網(wǎng)址的文本框 |
date唬党、month、time鬼佣、<br /> week驶拱、datetime、 datetime-local | 獲取日期和時(shí)間 |
hidden | 生成一個(gè)隱藏的控件 |
file | 生成一個(gè)上傳文件的組件 |
表單元素類型的分類解析
1.type值為text時(shí) <input type = "text">
元素屬性
屬性 | 說明 |
---|---|
list | 和為 input 框提供值的datalist一塊使用晶衷,相當(dāng)于select的變形形式 |
maxlength | 設(shè)置文本框的最大寬度 |
pattern | 用于輸入的正則表達(dá)式 |
placeholder | 用于輸入字符的提示 |
readonly | 設(shè)置只讀狀態(tài) |
disabled | 設(shè)置禁用狀態(tài) |
size | 設(shè)置文本框的寬度 |
value | 文本框的初始值 |
required | 是否為必填字段 |
設(shè)置文本提供的建議值 為 select 的變相形式
<input list="footlist">
<datalist id="footlist">
<option value="蘋果">蘋果</option>
<option value="桔子">桔子</option>
<option value="香蕉" label="香蕉"> <option value="梨子">
</datalist>
2.type值為password時(shí) 一般用于密碼框的輸入,所有的字符都會(huì)顯示星號(hào)
屬性名稱 | 說明 |
---|---|
maxlength | 設(shè)置密碼框最大字符長度 |
pattern | 用于輸入驗(yàn)證的正則表達(dá)式 |
placeholder | 輸入密碼的提示 |
readonly | 密碼框處于只讀狀態(tài) |
disabled | 文本框處于禁用狀態(tài) |
size | 設(shè)置密碼框?qū)挾?/td> |
value | 設(shè)置密碼框初始值 |
required | 表明用戶必須輸入同一個(gè)值 |
3.type值search search表單會(huì)顯示一個(gè)叉來取消搜索內(nèi)容
search 表單的屬性和 text 表單的屬性相同
-
type 為 number蓝纲、range 時(shí)
type = number 生成一個(gè)只能填寫數(shù)字的文本框 type = range 生成一個(gè)表示數(shù)字范圍的文本框,并且只能拖動(dòng)
屬性 | 說明 |
---|---|
list | 指定為文本框提供建議值的 datalist 元素,其值為 datalist 元素的 id 值 |
min |
設(shè)置可接受的最小值 |
max |
設(shè)定可接受的最大值 |
readonly | 設(shè)置文本框內(nèi)容只讀 |
required | 表明用戶必須輸入一個(gè)值,否則無法通過輸入驗(yàn)證 |
step |
指定上下調(diào)節(jié)值的步長 |
value | 指定初始值 |
設(shè)置數(shù)字的步長以及范圍
<input type="number" step="2" min="10" max="100">
5.type = data時(shí) 文本框可以獲取日期和時(shí)間的值
<input type="date">
<input type="month">
<input type="time">
<input type="week">
<input type="datetime">
<input type="datetime-local">
6.type = color 實(shí)現(xiàn)文本框獲取顏色的功能
7.type = image 生成一個(gè)圖片按鈕,點(diǎn)擊圖片就實(shí)現(xiàn)提交功能
屬性名稱 | 說明 |
---|---|
src | 指定要顯示圖像的 URL |
alt | 提供圖片的文字說明 |
width | 圖像的長度 |
height | 圖像的高度 |
提交額外屬性 |
formaction 晌纫、formenctype 税迷、formmethod 、formtarget 和 formnovalidate 锹漱。 |
8.type 為 checkbox箭养、radio 時(shí) 生成一個(gè)獲取布爾值的復(fù)選框或固定選項(xiàng)的單選框
屬性名稱 | 說明 |
---|---|
checked | 設(shè)置復(fù)選框、單選框是否為勾選狀態(tài) |
required | 表示用戶必須勾選,否則無法通過驗(yàn)證 |
value |
設(shè)置復(fù)選框哥牍、單選框勾選狀態(tài)時(shí)提交的數(shù)據(jù)毕泌。默認(rèn)為 on |
9.type 為 submit、reset 和 button 生成 提交嗅辣、重置和一般按鈕
如果是 type = submit 時(shí),提供了和<button>
元素一樣的額外屬性
formaction撼泛、
formenctype、
formmethod澡谭、
formtarget愿题、
formnovalidate
10.**type 為 email、tel译暂、url **
<input type="email">
<input type="tel">
<input type="url">
11.type 為 hidden 生成一個(gè)隱藏控件
<input type="hidden">
12.type 為 file 生成一個(gè)文件上傳控件
屬性名稱 | 說明 |
---|---|
accept | 指定接受的 MIME 類型 |
required | 表明用戶必須提供一個(gè)值,否則無法通過驗(yàn)證 |
accept="image/gif, image/jpeg, image/png"
其他元素解析 select + textarea
- 其他表單元素
元素名稱 | 說明 |
---|---|
select | 生成一個(gè)下拉列表進(jìn)行選擇 |
optgroup | 對(duì) select 元素進(jìn)行編組 |
option | select 元素中的項(xiàng)目 |
textarea | 生成一個(gè)多行文本框 |
output | 表示計(jì)算結(jié)果 |
-
select表單元素 生成下拉列表
<select name="fruit"> <option value="1">蘋果</option> <option value="2">橘子</option> <option value="3">香蕉</option> </select>
<select>
下拉列表元素至少包含一個(gè)<option>
子元素,才能形成有效的選項(xiàng)列 表抠忘。<select>
可以充分利用<optgroup>
形成分組select選擇區(qū)域內(nèi)分組
slect的屬性解析 (所有的表單元素都有 autofocus 屬性
)
屬性名稱 | 說明 |
---|---|
name | 設(shè)定提交時(shí)的名稱 |
disabled | 將下拉列表禁用 |
form | 將表單外的下拉列表與某個(gè)表單掛鉤 |
size | 設(shè)置下拉列表的高度 |
multiple |
設(shè)置是否可以多選 |
<select name="fruit" size="30" multiple>
<option value="2" selected>橘子</option>
<optgroup label="水果類">
<option value="1">蘋果</option>
<option value="2" selected>橘子</option>
<option value="3" label="香蕉">香蕉</option>
</optgroup>
</select>
3.多行文本框
多行文本框的屬性設(shè)置
屬性名稱 | 說明 |
---|---|
name | 設(shè)定提交時(shí)的名稱 |
form | 將表單外的多行文本框與某個(gè)表單掛鉤 |
readonly | 設(shè)置多行文本框只讀 |
disabled | 將多行文本框禁用 |
maxlength | 設(shè)置最大可輸入的字符長度 |
autofocus | 獲取焦點(diǎn) |
placeholder | 設(shè)置輸入時(shí)的提示信息 |
rows | 設(shè)置行數(shù) |
cols | 設(shè)置列數(shù) |
wrap | 設(shè)置是否插入換行符,有 soft 和 hard 兩種 |
required | 設(shè)置必須輸入值,否則無法通過驗(yàn)證 |
輸入驗(yàn)證 主要針對(duì)于表單中的 email password number 等形式的表單進(jìn)行驗(yàn)證
-
必填驗(yàn)證
<input type="text" required>
-
范圍限制驗(yàn)證
<input type="number" min="10" max="100">
-
正則表達(dá)式驗(yàn)證
適用于所有的表單
<input type="text" placeholder="請(qǐng)輸入?yún)^(qū)號(hào)+座機(jī)" required pattern="^[\d]{2,4}\-[\d]{6,8}$">
-
阻止表單的驗(yàn)證動(dòng)作
<form action="http://li.cc" novalidate>