[TOC]
>[info]HTML 表單用于搜集不同類型的用戶輸入,是Web瀏覽器和Web服務器進行通信的最常用的手段,即通 過表單,瀏覽器不僅能從Web服務器中獲得信息,而且還能向Web 服務器反饋信息。HTML為此提供了表單(Form)元素來設計和實現這種交互界面。
## 常用表單元素
>[info] 表單形成的交互界面上有許多元素,負責收集用戶輸入 的各種信息,這些元素一般稱為控件。
* 單行/多行文本框
* 復選框
* 單選按鈕
* 文件域
* 隱藏域
* 下拉菜單
* 提交按鈕
* 重置按鈕
~~~
<form method="post" action="">
<!--單行文本-->
<input type="text" />
<!--密碼-->
<input type="password" />
<!--單選框-->
<input type="radio" />
<!--多選框-->
<input type="checkbox" />
<!--隱藏域-->
<input type="hidden" />
<!--提交按鈕-->
<input type="submit" />
<!--文件域-->
<input type="file" />
<!--重置按鈕-->
<input type="reset" />
<!--按鈕-->
<input type="button"/>
<!--文本區域-->
<textarea></textarea>
<!--下拉框-->
<select>
<option>下拉1</option>
<option>下拉2</option>
</select>
</form>
~~~
**效果如下:**
<form method="post" action="">
<!--單行文本-->
<input type="text" />
<!--密碼-->
<input type="password" />
<!--單選框-->
<input type="radio" />
<!--多選框-->
<input type="checkbox" />
<!--隱藏域-->
<input type="hidden" />
<!--提交按鈕-->
<input type="submit" />
<!--文件域-->
<input type="file" />
<!--重置按鈕-->
<input type="reset" />
<!--按鈕-->
<input type="button" value="按鈕">
<!--文本區域-->
<textarea></textarea>
<!--下拉框-->
<select>
<option>下拉1</option>
<option>下拉2</option>
</select>
</form>
* * * * *
### `input`標簽共有的一些屬性
* type 控件的類型
* value 指定默認值
* name 用于服務器獲取數據
### `radio`單選和`checkbox`多選
* checked 默認的選中項
* value 該選項被選中后提交到服務器的值
* name 用于服務器獲取數據
### ` select`元素(下拉列表)
>[info] HTML是通過`<select>`和`<option>`標記來定義輸入列表框的。列表框標記`<select>`是成對出現標記,首標記`<select>`和尾標記`</select>` 之間的內容就是一個列表框的內容。和`<option>`標記用于定義列表框中的各個選項
~~~
<select name="" id="" size="" multiple="">
<option value="">下拉1</option>
<option value="">下拉2</option>
<option value="" selected="">...</option>
<option value="">下拉n</option>
</select>
~~~
**例子解析**
* `name`用于服務器獲取數據
* `sizesize`屬性是可選的,用于定義列表框的長度。size屬性的 參數值是數字,表示顯示在列表框中的選項數目。當size屬性的參數 值小于列表框中的列表項數目時,瀏覽器會為該列表框添加滾動條, 用戶可以使用滾動條來查看所有的選項。size屬性的缺省值為1。
*` multiple`表示可以多選,如果不設置本屬性,那么只能單選;按 Ctrl可以多選. 用法:multiple="multiple"
* `value`當該項被選中并提交后,web瀏覽器 傳送給服務器的數據。缺省時,瀏覽器將傳送選項的內容
* `selected`用來指定選項的初始狀態,表示該選項在初始時 是被選中的。
## label標簽
>[info] 用戶選擇該標簽時,瀏覽器就會自動將焦點轉到和標簽相關的表單控件上
~~~
<p>請點擊文本標記之一,就可以觸發相關控件:</p>
<form>
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<br />
<label for="female">Female</label>
<input type="radio" name="sex" id="female" />
</form>
~~~
效果如下:
<p>請點擊文本標記之一,就可以觸發相關控件:</p>
<form>
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<br />
<label for="female">Female</label>
<input type="radio" name="sex" id="female" />
</form>
**例子解析**
* `for`規定` label` 綁定到哪個表單元素。
* `id`需要綁定的元素加個標識。
>[danger]**作業:**把所有常用的表單都練習幾遍,理清不同類型表單的作用。
- 序言
- 第一章:準備工作
- 寫在學習之前的話
- web應用開發結構
- 開發工具/環境
- 第二章:展現層面(HTML/CSS)
- HTML簡介
- HTML基礎
- HTML編碼
- HTML鏈接
- HTML圖像
- HTML列表
- HTML表單
- HTML表格(分水嶺)
- HTML 實體
- HTML框架
- CSS層疊樣式表
- CSS選擇器
- CSS文本/字體
- CSS繼承和疊加
- CSS框模型
- CSS浮動(分水嶺)
- CSS定位
- CSS背景
- CSS圖標字體
- CSS補充
- 開發技巧
- 第三章:展現層面(Javascript)
- JS簡介
- JS實現
- JS輸出交互
- JS變量
- JS數據類型
- JS運算符
- JS流程控制(分水嶺)
- JS函數
- JS數組
- JS對象(分水嶺)
- JS數組對象
- JS字符串對象
- JS數學對象
- JS日期對象
- JS BOM對象(分水嶺)
- JS DOM對象
- JS事件對象
- JS元素對象
- JS DOM節點
- 第四章:展現層面(Jquery)
- JQ簡介
- JQ使用
- JQ選擇器
- JQ篩選
- JQ屬性
- JQ-CSS
- JQ事件
- JQ文檔處理
- JQ效果
- JQ-ajax
- 第五章:邏輯/業務層面(PHP)
- PHP簡介
- PHP變量
- PHP數據類型
- PHP常量
- PHP運算符
- PHP流程控制
- PHP函數(分水嶺)
- PHP日期
- PHP數學
- PHP數組
- PHP字符串
- PHP正則表達式(分水嶺)
- PHP目錄操作
- PHP文件
- PHP上傳/下載
- PHP面向對象(分水嶺)
- PHP圖像處理
- PHP會話控制
- Ajax異步處理
- PHPMysql擴展
- PHPMysqli擴展
- PHPPdo擴展
- PHP接口
- PHP命名空間
- 第六章:邏輯/業務層面(框架設計)
- 第七章:存儲層面(mysql)
- Mysql基礎
- Mysql Sql簡介
- Mysql數據庫
- Mysql數據類型
- Mysql數據表
- Mysql操作記錄
- Mysql查詢
- Mysql修改表結構
- Mysql日期與時間
- Mysql分組統計
- Mysql多表查詢
- Mysql安全
- Mysql存儲引擎
- Mysql事務
- Mysql視圖
- Mysql觸發器
- Mysql存儲過程
- Mysql存儲函數
- Mysql優化
- 第八章:服務器(Linux)
- Linux介紹與安裝
- Shell
- 目錄與文件操作
- VIM編輯器使用
- 帳號管理
- SUDO
- 權限控制
- 壓縮與打包
- 軟件安裝
- 計劃任務
- 進程管理
- 寶塔Linux面板