# 第 10 章 表單元素[上]
學習要點:
1.表單元素總匯
2.表單元素解析
主講教師:李炎恢
本章主要探討 HTML5?中表單元素,表單元素用于獲取用戶的輸入數據。
**一.表單元素總匯**
在 HTML5?的表單中,提供了各種可供用戶輸入的表單控件。
| **元素名稱** | **說明** |
| --- | --- |
| form | 表示 HTML?表單 |
| input | 表示用來收集用戶輸入數據的控件 |
| textarea | 表示可以輸入多行文本的控件 |
| select | 表示用來提供一組固定的選項 |
| option | 表示提供提供一個選項 |
| optgroup | 表示一組相關的 option?元素 |
| button | 表示可用來提交或重置的表單按鈕(或一般按鈕) |
| datalist | 定義一組提供給用戶的建議值 |
| fieldset | 表示一組表單元素 |
| legend | 表示 fieldset?元素的說明性標簽 |
| label | 表示表單元素的說明標簽 |
| output | 表示計算結果 |
**二.表單元素解析**
**1.<form>****定義表單**
```
<form method="post" action="http://www.haosou.com/">
<button>提交</button>
</form>
```
解釋:<form>元素主要是定義本身是一組表單。
| **元素名稱** | **說明** |
| --- | --- |
| action? | 表示表單提交的頁面 |
| method | 表示表單的請求方式:有 POST?和 GET?兩種,默認 GET |
| enctype | 表示瀏覽器對發送給服務器的數據所采用的編碼格式。有三種:application/x-www-form-urlencoded(默認編碼,不能將文件上傳到服務器)、multipart/form-data(用于上傳文件到服務器)、text/plain(未規范的編碼,不建議使用,不同瀏覽器理解不同) |
| name | 設置表單名稱,以便程序調用 |
| target | 設置提交時的目標位置:_blank、_parent、_self、_top |
| autocomplete | 設置瀏覽器記住用戶輸入的數據,實現自動完成表單。默認為 on?自動完成,如果不想自動完成則設置 off。 |
| novalidate | 設置是否執行客戶端數據有效性檢查,后面課程講解。 |
//使用?get 提交數據
```
method="get"
```
//喪失自動提示功能
```
autocomplete="off"
```
//使用_blank 新建目標?
```
target="_blank"
```
**2.<input>****表示用戶輸入數據**
```
<input name="user">
```
解釋:<input>元素默認情況會出現一個單行文本框,有五個屬性。
| **屬性名稱** | **說明** |
| --- | --- |
| autofocus | 讓光標聚焦在某個 input?元素上,讓用戶直接輸入 |
| disabled | 禁用 input?元素 |
| autocomplete | 單獨設置 input?元素的自動完成功能 |
| form | 讓表單外的元素和指定的表單掛鉤提交 |
| type | input 元素的類型,內容較多,將在下節課展開講解 |
| name | 定義 input?元素的名稱,以便接收到相應的值 |
//聚焦光標
```
<input name="user" autofocus>
```
//禁用?input
```
<input name="user" disabled>
```
//禁止自動完成
```
<input name="user" autocomplete="off">
```
//表單外的?input?
```
<form method="get" id="register"> ... </form>
<input name="email" form="register">
```
**3.<label>****添加說明標簽**
```
<p><label for="user">用戶名:<input id="user" name="user"></label></p>
```
解釋:<label>元素可以關聯 input,讓用戶體驗更好。且更加容易設置 CSS?樣式。
**4.<fieldset>****對表單進行編組**
```
<fieldset>...</fieldset>
```
解釋:<fieldset>元素可以將一些表單元素組織在一起,形成一個整體。
| **屬性名稱** | **說明** |
| --- | --- |
| name | 給分組定義一個名稱 |
| form | 讓表單外的分組與表單掛鉤 |
| disabled | 禁用分組內的表單 |
**5.<legend>****添加分組說明標簽**
```
<fieldset>
<legend> 注冊表單 </legend>
</fieldset>
```
解釋:<legend>元素給分組加上一個標題。
**6.<button>****添加按鈕**?
```
<button type="submit"></button>
```
解釋:<button>元素添加一個按鈕,type?屬性有如下幾個值:
| **值名稱** | **說明** |
| --- | --- |
| submit | 表示按鈕的作用是提交表單,默認 |
| reset | 表示按鈕的作用是重置表單 |
| button | 表示按鈕為一般性按鈕,沒有任何作用 |
//提交表單?
```
<button type="submit">提交</button>
```
//重置表單
```
<button type="reset">重置</button>
```
//普通按鈕
```
<button type="button">按鈕</button>
```
對于 type?屬性為 submit?時,按鈕還會提供額外的屬性。
| **屬性名稱** | **說明** |
| --- | --- |
| form | 指定按鈕關聯的表單 |
| formaction | 覆蓋 form?元素的 action?屬性 |
| formenctype | 覆蓋 form?元素的 enctype?屬性 |
| formmethod | 覆蓋 form?元素的 method?屬性 |
| formtarget | 覆蓋 form?元素的 target?屬性 |
| formnovalidate | 覆蓋 form?元素的 novalidate?屬性 |
?//表單外關聯提交
```
<button type="submit" form="register">提交</button>
```
- 介紹
- HTML/CSS 教程
- 第 1 章 HTML5 概述
- 第 2 章 基本格式
- 第 3 章 文本元素
- 第 4 章 超鏈接和路徑
- 第 5 章 分組元素
- 第 6 章 表格元素
- 第 7 章 文檔元素
- 第 8 章 嵌入元素
- 第 9 章 音頻和視頻
- 第 10 章 表單元素[上]
- 第 10 章 表單元素[中]
- 第 10 章 表單元素[下]
- 第 11 章 全局屬性和其他
- 第 12 章 CSS 入門
- 第 13 章 CSS 選擇器[上]
- 第 14 章 CSS 顏色與度量單位
- 第 15 章 CSS 文本樣式[上]
- 第 15 章 CSS 文本樣式[下]
- 第 16 章 CSS 盒模型[上]
- 第 16 章 CSS 盒模型[下]
- 第 17 章 CSS 邊框與背景[上]
- 第 17 章 CSS 邊框與背景[下]
- 第 18 章 CSS 表格與列表
- 第 19 章 CSS 其他樣式
- 第 20 章 CSS3 前綴和 rem
- 第 21 章 CSS3 文本效果
- 第 21 章 CSS3 文本效果
- 第 23 章 CSS3 邊框圖片效果
- 第 24 章 CSS3 變形效果[下]
- 第 25 章 CSS3 過渡效果
- 第 26 章 CSS3 動畫效果
- 第 27 章 CSS 傳統布局[上]
- 第 27 章 CSS 傳統布局[下]
- 第 28 章 CSS3 多列布局
- 第 29 章 CSS3 彈性伸縮布局[上]
- 第 29 章 CSS3 彈性伸縮布局[中]
- 第 29 章 CSS3 彈性伸縮布局[下]
- 第 30 章 使用 Emmet 插件
- Bootstrap 教程
- 第 1 章 Bootstrap 介紹
- 第 2 章 排版樣式
- 第 3 章 表格和按鈕
- 第 4 章 表單和圖片
- 第 5 章 柵格系統
- 第 6 章 輔組類和響應式工具
- 第 7 章 圖標菜單按鈕組件
- 第 8 章 輸入框和導航組件
- 第 9 章 路徑分頁標簽和徽章組件
- 第 10 章 巨幕頁頭縮略圖和警告框組件
- 第 11 章 進度條媒體對象和 Well 組件
- 第 12 章 列表組面板和嵌入組件
- 第 13 章 模態框插件
- 第 14 章 下拉菜單和滾動監聽插件
- 第 15 章 標簽頁和工具提示插件
- 第 16 章 彈出框和警告框插件
- 第 17 章 按鈕和折疊插件
- 第 18 章 輪播插件
- 第 19 章 附加導航插件
- 第 20 章 項目實戰--響應式導航[1]
- 第 20 章 項目實戰--響應式輪播圖[2]
- 第 20 章 項目實戰--首頁內容介紹[上][3]
- 第 20 章 項目實戰--首頁內容介紹[下][4]
- 第 20 章 項目實戰--資訊內容[5,6]
- 第 20 章 項目實戰--案例和關于[7]
- javaScript 教程
- javascript快速入門1--JavaScript前世今生,HelloWorld與開發環境
- javascript快速入門2--變量,小學生數學與簡單的交互
- javascript快速入門3--分支判斷與循環
- javascript快速入門4--函數與內置對象
- javascript快速入門5--數組與對象
- javascript快速入門6--Script標簽與訪問HTML頁面
- javascript快速入門7--ECMAScript語法基礎
- javascript快速入門8--值,類型與類型轉換
- javascript快速入門9--引用類型
- javascript快速入門10--運算符,語句
- javascript快速入門11--正則表達式
- javascript快速入門12--函數式與面向對象
- javascript快速入門13--BOM——瀏覽器對象模型(Browser Object Model)
- javascript快速入門14--DOM基礎
- javascript快速入門15--節點
- javascript快速入門15--表單
- javascript快速入門16--表格
- javascript快速入門17--事件
- javascript快速入門18--樣式
- javascript快速入門19--定位
- javascript快速入門20--Cookie
- javascript快速入門21--DOM總結
- javascript快速入門22--Ajax簡介
- javascript快速入門23--XHR—XMLHttpRequest對象
- javascript快速入門24--XML基礎
- javascript快速入門25--瀏覽器中的XML
- javascript快速入門26--XPath
- javascript快速入門27--XSLT基礎
- PHP 教程
- 第一章 如何加載運行已發布的PHP項目
- 第二章 PHP基礎
- 第三章 操作符與控制結構
- 第四章 數學運算
- 第五章 數組
- 第六章 目錄與文件
- 第七章 自定義函數
- 第八章 字符串處理
- 第九章 正則表達式
- 第十章 日期與時間
- 第十一章 表單與驗證
- 第十二章 會話控制
- 第十三章 上傳文件
- 第十四章 處理圖像
- 第十五章 MySQL 數據庫
- 第十六章 PHP 操作MySQL
- 第十七章 面向對象基礎
- 第十八章 面向對象的特性
- 第十九章 面向對象的工具