什么是FORM表單:
表單是用來提交資料、意見,規范流程執行過程的格式。表單在網頁中主要負責數據采集功能。
一個表單有三個基本組成部分:
- 表單標簽:這里面包含了處理表單數據所用
CGI
程序的URL
以及數據提交到服務器的方法。 - 表單域:包含了文本框、密碼框、隱藏域、多行文本框、復選框、單選框、下拉選擇框和文件上傳框等。
- 表單按鈕:包括提交按鈕、復位按鈕和一般按鈕;用于將數據傳送到服務器上的
CGI
腳本或者取消輸入,還可以用表單按鈕來控制其他定義了處理腳本的處理工作。
表單標簽<form></form>
功能:用于申明表單,定義采集數據的范圍,也就是<form>
和</form>
里面包含的數據將被提交到服務器或者電子郵件里。所有要提交的內容必須被<form>/</form>
包圍.
語法:
<form actlon="URL" method="get/post" enctype="text/plain" target="...">. . .</form>
actlon
:表單提交的地址
method=get
或post
指明提交表單的HTTP
方法.
target
:在何處打開action(規定當提交表單時,向何處發送表單數據)
enctype
:
-
application/x-www-form-urlencoded
:在發送前編碼所有字符(默認) -
text/plain
: 空格轉換為“+”加號,但不對特殊字符編碼 -
multipart/form-data
:使用包含文件上傳控件的表單時,必須使用該值。
get與post區別:
-
get
是從服務器上獲取數據,post
是向服務器傳送數據。 -
get
是把參數數據隊列加到提交表單的ACTION
屬性所指的URL
中,值和表單內各個字段一一對應,在URL
中可以看到。post
是通過HTTP post
機制,將表單內各個字段與其內容放置在HTML HEADER
內一起傳送到ACTION
屬性所指的URL
地址。用戶看不到這個過程。 - 對于
get
方式,服務器端用Request.QueryString
獲取變量的值,對于post
方式,服務器端用Request.Form
獲取提交的數據。
4.get
傳送的數據量較小,不能大于2KB
。post
傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4
中最大量為80KB
,IIS5
中為100KB
。 -
get
安全性非常低,post
安全性較高。但是執行效率卻比Post
方法好。
- get
方式的安全性較post
方式要差一些,所以,包含一些重要的信息的話,簡易使用post
數據提交方式
- 在做查詢統計的時候,使用get
方式要更好一些;而在做數據的添加,修改或刪除操作時,建議使用post
數據提交方式
表單域:
表單域包含了文本框、密碼框、隱藏域、復選框、單選框和下拉選擇框等,用于采集用戶的輸入或選擇的數據,下面分別講述這些表單域的代碼格式.
文本框:
文本框是一種讓訪問者自己輸入內容的表單對象,通常被用來填寫單個字或者簡短的回答,如姓名、地址等。
代碼格式:
<input type="text" name="..." >
屬性解釋:
type="text"
定義單行文本輸入框;
name
屬性定義文本框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
例:
<input type="text" name="example1" >
密碼框:
是一種特殊的文本域,用于輸入密碼。當訪問者輸入密碼時,文字會被星號或其它符號代替,而輸入的密碼會被隱藏。
代碼格式:
<input type="password" name="..." placeholder="...">
屬性解釋:
type="password"
定義密碼框;
name
屬性定義密碼框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
placeholder
:密碼輸入框顯示內容
例:
<input type="password" name="password"placeholder="輸入密碼">
隱藏域:
隱藏域是用來收集或發送信息的不可見元素,對于網頁的訪問者來說,隱藏域是看不見的。當表單被提交時,隱藏域就會將信息用你設置時定義的名稱和值發送到服務器上。
代碼格式:
<input type="hidden" name="..." value="...">
屬性解釋:
type="hidden"
定義隱藏域;
name
屬性定義隱藏域的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
value
屬性定義隱藏域的值
例如:
<input type="hidden" name="ExPws" value="dd">
復選框:
復選框允許在待選項中選中一項以上的選項。每個復選框都是一個獨立的元素,都必須有一個唯一的名稱。
代碼格式:
<input type="checkbox" name="..." value="...">
屬性解釋:
type="checkbox"
定義復選框;
name
屬性定義復選框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
value
屬性定義復選框的值
例:
- <input type="checkbox" name="hobby" value="read">讀書
- <input type="checkbox" name="hobby" value="music">音樂
單選框:
當需要訪問者在待選項中選擇唯一的答案時,就需要用到單選框了。
代碼格式:
- <input type="radio" name="..." value="...">
屬性解釋:
type="radio"
定義單選框;
name
屬性定義單選框的名稱,要保證數據的準確采集,單選框都是以組為單位使用的,在同一組中的單選項都必須用同一個名稱;
value
屬性定義單選框的值,在同一組中,它們的域值必須是不同的。
例:
- <input type="radio" name="sex" value="男">男
- <input type="radio" name="sex" value="女">女
文件上傳框:
有時候,需要用戶上傳自己的文件,文件上傳框看上去和其它文本域差不多,只是它還包含了一個瀏覽按鈕。訪問者可以通過輸入需要上傳的文件的路徑或者點擊瀏覽按鈕選擇需要上傳的文件。
注意:在使用文件域以前,請先確定你的服務器是否允許匿名上傳文件。表單標簽中必須設置enctype="multipart/form-data"
來確保文件被正確編碼;另外,表單的傳送方式必須設置成post
。
代碼格式:
- <input type="file" name="..."accept="image/png, image/jpeg">
屬性解釋:
type="file"
定義文件上傳框;
name
屬性定義文件上傳框的名稱,要保證數據的準確采集,必須定義一個獨一無二的名稱;
accept
規定能夠通過文件上傳進行提交的文件類型.
例:
- <input type="file" name="myfile"accept="image/png" >
下拉選擇框:
下拉選擇框允許你在一個有限的空間設置多種選項。
代碼格式:
- <select name="..." size="..." multiple>
- <option value="..." selected>...</option>
- ...
- </select>
屬性解釋:
size
屬性定義下拉選擇框的行數;
name
屬性定義下拉選擇框的名稱;
multiple
屬性表示可以多選,如果不設置本屬性,那么只能單選;
value
屬性定義選擇項的值;
selected
屬性表示默認已經選擇本選項。
例:
- <select name="mySel" size="1">
- <option value="beijing" selected>北京</option>
- <option value="shanghai">上海</option>
- </select>
例2:按ctrl
可多選
- <select name="mySelt" size="3" multiple>
- <option value="beijing" selected>北京</option>
- <option value="shanghai">上海</option>
- <option value="hangzhou">杭州</option>
- </select>
表單按鈕:
表單按鈕控制表單的運作。
提交按鈕
提交按鈕用來將輸入的信息提交到服務器。
代碼格式:
- <input type="submit" name="..." value="...">
屬性解釋:
type="submit"
定義提交按鈕;
name
屬性定義提交按鈕的名稱;
value
屬性定義按鈕的顯示文字;
例:
- <input type="submit" name="mySent" value="發送">
復位按鈕:
復位按鈕用來重置表單。
代碼格式:
- <input type="reset" name="..." value="...">
屬性解釋:
type="reset"
定義復位按鈕;
name
屬性定義復位按鈕的名稱;
value
屬性定義按鈕的顯示文字;
例:
- <input type="reset" name="myCancle" value="取消">
文本輸入框:
文本區中可容納無限數量的文本,其中的文本的默認字體是等寬字體(通常是 Courier
)。
textarea
:定義多行的文本輸入控件
代碼格式:
- <textarea rows="3" cols="20">
-123456789
- </textarea>
屬性:
- rows:文本的可見行數。
- cols:文本區內的可見寬度。
- autofocus:規定在頁面加載后文本區域自動獲得焦點。
- disabled:規定禁用該文本區。
- form (值:
form_id
):規定文本區域所屬的一個或多個表單。 - maxlength :規定文本區域的最大字符數。
- name(值:
name_of_textarea
):文本區的名稱。 - placeholder(值:
text
):規定描述文本區域預期值的簡短提示。 - readonly:規定文本區為只讀。
- required:規定文本區域是必填的。
- wrap(值:
hard,soft
):規定當在表單中提交時,文本區域中的文本如何換行。
label標簽:
<label>
標簽為input
元素定義標注(標記)。
label
:不會向用戶呈現任何特殊效果。不過,它為鼠標用戶改進了可用性。如果您在 label 元素內點擊文本,就會觸發此控件。就是說,當用戶選擇該標簽時,瀏覽器就會自動將焦點轉到和標簽相關的表單控件上。
屬性:
for(值:id
):規定 label
綁定到哪個表單元素。
form(值:formid
):規定label
字段所屬的一個或多個表單。