HTML5中的表單元素


本節重點

  1. HTML5中添加了許多新特性的表單元素
  2. 表單元素主要表現在 元素Element + 類型Type + 屬性attribute

表單元素匯總解析

  • 表單元素列表
元素名稱 說明
form 表示 HTML 表單
input 表示用來收集用戶輸入數據的控件
textarea 表示可以輸入多行文本的控件
select 表示用來提供一組固定的選項
option 表示提供提供一個選項
optgroup 表示一組相關的 option 元素
button 表示可用來提交或重置的表單按鈕(或一般按鈕)
datalist 定義一組提供給用戶的建議值
fieldset 表示一組表單元素
legend 表示 fieldset 元素的說明性標簽
label 表示表單元素的說明標簽
output 表示計算結果
  • 其他表單元素
元素名稱 說明
select 生成一個下拉列表進行選擇
optgroup 對 select 元素進行編組
option select 元素中的項目
textarea 生成一個多行文本框
output 表示計算結果
  • 表單元素解析

    表單元素有許多共有的屬性,大家注意分辨 不同表單元素的特有屬性

1.form 表單解析

    <form method="post" action="http://www.haosou.com/">
            <button>提交</button>
        </form>
    form 表單的屬性
屬性名稱 說明
action 表單需要提交的頁面
method 表單需要提交的方式 get/post
entype entype與文件上傳息息相關<br /> 1. application/x-www-form-urlencoded(默認編碼,不能將進行文件上傳)
2. multipart/form-data (用于將文件上傳到服務器的編碼) <br /> 3. text/plain (未規范編碼,不建議使用)
name 表單名稱,建議書寫,用于程序識別表單
target 設置提交時的目標位置:_blank、_parent、_self、_top
autocomplete 設置瀏覽器記住用戶輸入的數據,實現自動完成表單。<br />默認為on自動完成 , 如果不想自動完成則設置 off。
novalidate 是否進行表單的有效性檢查(瀏覽器m默認的檢查效果)

2.input 表單的屬性

屬性名稱 說明
autofocues 讓光標聚焦在input上,可以讓用戶直接輸入
disable 禁用input,(禁止用戶輸入)
autocomplete 設置input的自動完成功能
form 設置表單掛鉤
讓表單外的元素設置表單掛鉤提交
type 元素的 type 屬性是最多的

3.<label>設置表單說明

 <label for="user">用戶名:</label>

4.<fieldset>對表單進行編組

 `<fieldset>`元素可以將一些表單元素組織在一起,形成一個整體,并且可與外部掛鉤
屬性名稱 說明
name 給分組定義一個名稱
form 讓表單外的分組與表單掛鉤
disabled 禁用分組內的表單

5.<legend>添加分組說明標簽

<fieldset>
    <legend>注冊表單</legend>
</fieldset>

6.<button>添加按鈕

button 按鈕的type 屬性有如下幾個值:

值名稱 說明
submit 表示按鈕的作用是提交表單,默認
reset 表示按鈕的作用是重置表單
button 表示按鈕為一般性按鈕,沒有任何作用

button 的 type = submit 時會提供額外的屬性 主要用作覆蓋已有的 form 表單屬性

屬性名稱 說明
form 指定按鈕關聯的表單
formaction 覆蓋 form 元素的 action 屬性
formenctype 覆蓋 form 元素的 enctype 屬性
formmethod 覆蓋 form 元素的 method 屬性
formtarget 覆蓋 form 元素的 target 屬性
formnovalidate 覆蓋 form 元素的 novalidate 屬性
表單元素(主要為 Input)的類型 Type

input 表單的屬性用于 限制表單的內容 + 表單的樣式

1.表單的屬性匯總

屬性 說明
text 簡單的文本框,input的默認行為
password 密碼框
search 搜索框
submit 、reset 、button 提交按鈕、重置按鈕、普通按鈕
number range 只能輸入數字的按鈕,range 用于設置數字范圍
checkbox 、radio 復選框,單選框
image 生成一個圖片按鈕
color 生成顏色代碼的按鈕
email、tel、url 生成一個檢測電子郵件、號碼、網址的文本框
date、month、time、<br /> week、datetime、 datetime-local 獲取日期和時間
hidden 生成一個隱藏的控件
file 生成一個上傳文件的組件

表單元素類型的分類解析

1.type值為text時 <input type = "text"> 元素屬性

屬性 說明
list 和為 input 框提供值的datalist一塊使用,相當于select的變形形式
maxlength 設置文本框的最大寬度
pattern 用于輸入的正則表達式
placeholder 用于輸入字符的提示
readonly 設置只讀狀態
disabled 設置禁用狀態
size 設置文本框的寬度
value 文本框的初始值
required 是否為必填字段

設置文本提供的建議值 為 select 的變相形式

    <input list="footlist">
    
    <datalist id="footlist">
        <option value="蘋果">蘋果</option>
        <option value="桔子">桔子</option>
        <option value="香蕉" label="香蕉"> <option value="梨子">
    </datalist>

2.type值為password時 一般用于密碼框的輸入,所有的字符都會顯示星號

屬性名稱 說明
maxlength 設置密碼框最大字符長度
pattern 用于輸入驗證的正則表達式
placeholder 輸入密碼的提示
readonly 密碼框處于只讀狀態
disabled 文本框處于禁用狀態
size 設置密碼框寬度
value 設置密碼框初始值
required 表明用戶必須輸入同一個值

3.type值search search表單會顯示一個叉來取消搜索內容

search 表單的屬性和 text 表單的屬性相同

  1. type 為 number、range 時

     type = number 生成一個只能填寫數字的文本框
    
     type = range 生成一個表示數字范圍的文本框,并且只能拖動
    
屬性 說明
list 指定為文本框提供建議值的 datalist 元素,其值為 datalist 元素的 id 值
min 設置可接受的最小值
max 設定可接受的最大值
readonly 設置文本框內容只讀
required 表明用戶必須輸入一個值,否則無法通過輸入驗證
step 指定上下調節值的步長
value 指定初始值
    設置數字的步長以及范圍
    <input type="number" step="2" min="10" max="100">

5.type = data時 文本框可以獲取日期和時間的值

    <input type="date">
    <input type="month">
    <input type="time">
    <input type="week">
    <input type="datetime">
    <input type="datetime-local">

6.type = color 實現文本框獲取顏色的功能

7.type = image 生成一個圖片按鈕,點擊圖片就實現提交功能

屬性名稱 說明
src 指定要顯示圖像的 URL
alt 提供圖片的文字說明
width 圖像的長度
height 圖像的高度
提交額外屬性 formactionformenctypeformmethodformtargetformnovalidate

8.type 為 checkbox、radio 時 生成一個獲取布爾值的復選框或固定選項的單選框

屬性名稱 說明
checked 設置復選框、單選框是否為勾選狀態
required 表示用戶必須勾選,否則無法通過驗證
value 設置復選框、單選框勾選狀態時提交的數據。默認為 on

9.type 為 submit、reset 和 button 生成 提交、重置和一般按鈕

如果是 type = submit 時,提供了和<button>元素一樣的額外屬性

    formaction、
    formenctype、
    formmethod、
    formtarget、
    formnovalidate

10.**type 為 email、tel、url **

    <input type="email">
    <input type="tel">
    <input type="url">

11.type 為 hidden 生成一個隱藏控件

    <input type="hidden">

12.type 為 file 生成一個文件上傳控件

屬性名稱 說明
accept 指定接受的 MIME 類型
required 表明用戶必須提供一個值,否則無法通過驗證
    accept="image/gif, image/jpeg, image/png"
其他元素解析 select + textarea

  1. 其他表單元素
元素名稱 說明
select 生成一個下拉列表進行選擇
optgroup 對 select 元素進行編組
option select 元素中的項目
textarea 生成一個多行文本框
output 表示計算結果
  1. select表單元素 生成下拉列表

     <select name="fruit">
         <option value="1">蘋果</option>
         <option value="2">橘子</option>
         <option value="3">香蕉</option>
     </select>
    
    • <select>下拉列表元素至少包含一個<option>子元素,才能形成有效的選項列 表。

    • <select> 可以充分利用 <optgroup> 形成分組select選擇區域內分組

slect的屬性解析 (所有的表單元素都有 autofocus 屬性)

屬性名稱 說明
name 設定提交時的名稱
disabled 將下拉列表禁用
form 將表單外的下拉列表與某個表單掛鉤
size 設置下拉列表的高度
multiple 設置是否可以多選
    <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.多行文本框

多行文本框的屬性設置

屬性名稱 說明
name 設定提交時的名稱
form 將表單外的多行文本框與某個表單掛鉤
readonly 設置多行文本框只讀
disabled 將多行文本框禁用
maxlength 設置最大可輸入的字符長度
autofocus 獲取焦點
placeholder 設置輸入時的提示信息
rows 設置行數
cols 設置列數
wrap 設置是否插入換行符,有 soft 和 hard 兩種
required 設置必須輸入值,否則無法通過驗證
輸入驗證 主要針對于表單中的 email password number 等形式的表單進行驗證

  • 必填驗證

      <input type="text" required>
    
  • 范圍限制驗證

      <input type="number" min="10" max="100">
    
  • 正則表達式驗證 適用于所有的表單

      <input type="text" placeholder="請輸入區號+座機" required pattern="^[\d]{2,4}\-[\d]{6,8}$">
    
  • 阻止表單的驗證動作

      <form action="http://li.cc" novalidate>    
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,208評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,477評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,960評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,200評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,726評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,617評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,807評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,049評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,432評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,769評論 2 372

推薦閱讀更多精彩內容

  • 表單基礎知識 在HTML中,表單是由 元素來表示的,而在JS中,表單對應的則是HTMLFormElement類型。...
    oWSQo閱讀 916評論 0 1
  • 本人做php的,最近發現JS真的是博大精深啊,比PHP難.在HTML中,表單是由form元素來表示的,但是在jav...
    linfree閱讀 2,188評論 3 17
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,781評論 18 139
  • 公元1010年七月 “日照王城君坐中,連云難蔽紫金輝; 江山連綿兵難斷,這只臭屁老烏龜!” “好詩,好詩啊!” “...
    戀尸癖的L君閱讀 356評論 15 15
  • 我躺在清冷的大地上 映著皎潔的月光 臉頰覆在泥土沙石中央 就這樣 一直睡下去 不用醒來 不必慌張 沒有思想 我內心...
    素樸一陶閱讀 336評論 0 2