什么是FORM表單:
表單是用來提交資料、意見镀钓,規(guī)范流程執(zhí)行過程的格式帮孔。表單在網(wǎng)頁中主要負(fù)責(zé)數(shù)據(jù)采集功能德挣。
一個表單有三個基本組成部分:
- 表單標(biāo)簽:這里面包含了處理表單數(shù)據(jù)所用
CGI
程序的URL
以及數(shù)據(jù)提交到服務(wù)器的方法。 - 表單域:包含了文本框圈匆、密碼框漠另、隱藏域、多行文本框跃赚、復(fù)選框笆搓、單選框、下拉選擇框和文件上傳框等纬傲。
- 表單按鈕:包括提交按鈕满败、復(fù)位按鈕和一般按鈕;用于將數(shù)據(jù)傳送到服務(wù)器上的
CGI
腳本或者取消輸入叹括,還可以用表單按鈕來控制其他定義了處理腳本的處理工作算墨。
表單標(biāo)簽<form></form>
功能:用于申明表單,定義采集數(shù)據(jù)的范圍汁雷,也就是<form>
和</form>
里面包含的數(shù)據(jù)將被提交到服務(wù)器或者電子郵件里净嘀。所有要提交的內(nèi)容必須被<form>/</form>
包圍.
語法:
<form actlon="URL" method="get/post" enctype="text/plain" target="...">. . .</form>
actlon
:表單提交的地址
method=get
或post
指明提交表單的HTTP
方法.
target
:在何處打開action(規(guī)定當(dāng)提交表單時,向何處發(fā)送表單數(shù)據(jù))
enctype
:
-
application/x-www-form-urlencoded
:在發(fā)送前編碼所有字符(默認(rèn)) -
text/plain
: 空格轉(zhuǎn)換為“+”加號摔竿,但不對特殊字符編碼 -
multipart/form-data
:使用包含文件上傳控件的表單時面粮,必須使用該值。
get與post區(qū)別:
-
get
是從服務(wù)器上獲取數(shù)據(jù)继低,post
是向服務(wù)器傳送數(shù)據(jù)熬苍。 -
get
是把參數(shù)數(shù)據(jù)隊列加到提交表單的ACTION
屬性所指的URL
中,值和表單內(nèi)各個字段一一對應(yīng)袁翁,在URL
中可以看到柴底。post
是通過HTTP post
機制,將表單內(nèi)各個字段與其內(nèi)容放置在HTML HEADER
內(nèi)一起傳送到ACTION
屬性所指的URL
地址粱胜。用戶看不到這個過程柄驻。 - 對于
get
方式,服務(wù)器端用Request.QueryString
獲取變量的值焙压,對于post
方式鸿脓,服務(wù)器端用Request.Form
獲取提交的數(shù)據(jù)抑钟。
4.get
傳送的數(shù)據(jù)量較小,不能大于2KB
野哭。post
傳送的數(shù)據(jù)量較大在塔,一般被默認(rèn)為不受限制。但理論上拨黔,IIS4
中最大量為80KB
蛔溃,IIS5
中為100KB
。 -
get
安全性非常低篱蝇,post
安全性較高贺待。但是執(zhí)行效率卻比Post
方法好。
- get
方式的安全性較post
方式要差一些零截,所以麸塞,包含一些重要的信息的話,簡易使用post
數(shù)據(jù)提交方式
- 在做查詢統(tǒng)計的時候瞻润,使用get
方式要更好一些喘垂;而在做數(shù)據(jù)的添加,修改或刪除操作時绍撞,建議使用post
數(shù)據(jù)提交方式
表單域:
表單域包含了文本框正勒、密碼框、隱藏域傻铣、復(fù)選框章贞、單選框和下拉選擇框等,用于采集用戶的輸入或選擇的數(shù)據(jù)非洲,下面分別講述這些表單域的代碼格式.
文本框:
文本框是一種讓訪問者自己輸入內(nèi)容的表單對象鸭限,通常被用來填寫單個字或者簡短的回答,如姓名两踏、地址等败京。
代碼格式:
<input type="text" name="..." >
屬性解釋:
type="text"
定義單行文本輸入框;
name
屬性定義文本框的名稱梦染,要保證數(shù)據(jù)的準(zhǔn)確采集赡麦,必須定義一個獨一無二的名稱;
例:
<input type="text" name="example1" >
密碼框:
是一種特殊的文本域帕识,用于輸入密碼泛粹。當(dāng)訪問者輸入密碼時,文字會被星號或其它符號代替肮疗,而輸入的密碼會被隱藏晶姊。
代碼格式:
<input type="password" name="..." placeholder="...">
屬性解釋:
type="password"
定義密碼框;
name
屬性定義密碼框的名稱伪货,要保證數(shù)據(jù)的準(zhǔn)確采集们衙,必須定義一個獨一無二的名稱钾怔;
placeholder
:密碼輸入框顯示內(nèi)容
例:
<input type="password" name="password"placeholder="輸入密碼">
隱藏域:
隱藏域是用來收集或發(fā)送信息的不可見元素,對于網(wǎng)頁的訪問者來說砍艾,隱藏域是看不見的蒂教。當(dāng)表單被提交時巍举,隱藏域就會將信息用你設(shè)置時定義的名稱和值發(fā)送到服務(wù)器上脆荷。
代碼格式:
<input type="hidden" name="..." value="...">
屬性解釋:
type="hidden"
定義隱藏域;
name
屬性定義隱藏域的名稱懊悯,要保證數(shù)據(jù)的準(zhǔn)確采集蜓谋,必須定義一個獨一無二的名稱;
value
屬性定義隱藏域的值
例如:
<input type="hidden" name="ExPws" value="dd">
復(fù)選框:
復(fù)選框允許在待選項中選中一項以上的選項炭分。每個復(fù)選框都是一個獨立的元素桃焕,都必須有一個唯一的名稱。
代碼格式:
<input type="checkbox" name="..." value="...">
屬性解釋:
type="checkbox"
定義復(fù)選框捧毛;
name
屬性定義復(fù)選框的名稱观堂,要保證數(shù)據(jù)的準(zhǔn)確采集,必須定義一個獨一無二的名稱呀忧;
value
屬性定義復(fù)選框的值
例:
- <input type="checkbox" name="hobby" value="read">讀書
- <input type="checkbox" name="hobby" value="music">音樂
單選框:
當(dāng)需要訪問者在待選項中選擇唯一的答案時师痕,就需要用到單選框了。
代碼格式:
- <input type="radio" name="..." value="...">
屬性解釋:
type="radio"
定義單選框而账;
name
屬性定義單選框的名稱胰坟,要保證數(shù)據(jù)的準(zhǔn)確采集,單選框都是以組為單位使用的泞辐,在同一組中的單選項都必須用同一個名稱笔横;
value
屬性定義單選框的值,在同一組中咐吼,它們的域值必須是不同的吹缔。
例:
- <input type="radio" name="sex" value="男">男
- <input type="radio" name="sex" value="女">女
文件上傳框:
有時候,需要用戶上傳自己的文件锯茄,文件上傳框看上去和其它文本域差不多厢塘,只是它還包含了一個瀏覽按鈕。訪問者可以通過輸入需要上傳的文件的路徑或者點擊瀏覽按鈕選擇需要上傳的文件撇吞。
注意:在使用文件域以前俗冻,請先確定你的服務(wù)器是否允許匿名上傳文件。表單標(biāo)簽中必須設(shè)置enctype="multipart/form-data"
來確保文件被正確編碼牍颈;另外迄薄,表單的傳送方式必須設(shè)置成post
。
代碼格式:
- <input type="file" name="..."accept="image/png, image/jpeg">
屬性解釋:
type="file"
定義文件上傳框煮岁;
name
屬性定義文件上傳框的名稱讥蔽,要保證數(shù)據(jù)的準(zhǔn)確采集涣易,必須定義一個獨一無二的名稱;
accept
規(guī)定能夠通過文件上傳進行提交的文件類型.
例:
- <input type="file" name="myfile"accept="image/png" >
下拉選擇框:
下拉選擇框允許你在一個有限的空間設(shè)置多種選項冶伞。
代碼格式:
- <select name="..." size="..." multiple>
- <option value="..." selected>...</option>
- ...
- </select>
屬性解釋:
size
屬性定義下拉選擇框的行數(shù)新症;
name
屬性定義下拉選擇框的名稱;
multiple
屬性表示可以多選响禽,如果不設(shè)置本屬性徒爹,那么只能單選;
value
屬性定義選擇項的值芋类;
selected
屬性表示默認(rèn)已經(jīng)選擇本選項隆嗅。
例:
- <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>
表單按鈕:
表單按鈕控制表單的運作。
提交按鈕
提交按鈕用來將輸入的信息提交到服務(wù)器侯繁。
代碼格式:
- <input type="submit" name="..." value="...">
屬性解釋:
type="submit"
定義提交按鈕胖喳;
name
屬性定義提交按鈕的名稱;
value
屬性定義按鈕的顯示文字贮竟;
例:
- <input type="submit" name="mySent" value="發(fā)送">
復(fù)位按鈕:
復(fù)位按鈕用來重置表單丽焊。
代碼格式:
- <input type="reset" name="..." value="...">
屬性解釋:
type="reset"
定義復(fù)位按鈕;
name
屬性定義復(fù)位按鈕的名稱咕别;
value
屬性定義按鈕的顯示文字技健;
例:
- <input type="reset" name="myCancle" value="取消">
文本輸入框:
文本區(qū)中可容納無限數(shù)量的文本,其中的文本的默認(rèn)字體是等寬字體(通常是 Courier
)顷级。
textarea
:定義多行的文本輸入控件
代碼格式:
- <textarea rows="3" cols="20">
-123456789
- </textarea>
屬性:
- rows:文本的可見行數(shù)凫乖。
- cols:文本區(qū)內(nèi)的可見寬度。
- autofocus:規(guī)定在頁面加載后文本區(qū)域自動獲得焦點弓颈。
- disabled:規(guī)定禁用該文本區(qū)帽芽。
- form (值:
form_id
):規(guī)定文本區(qū)域所屬的一個或多個表單。 - maxlength :規(guī)定文本區(qū)域的最大字符數(shù)翔冀。
- name(值:
name_of_textarea
):文本區(qū)的名稱导街。 - placeholder(值:
text
):規(guī)定描述文本區(qū)域預(yù)期值的簡短提示。 - readonly:規(guī)定文本區(qū)為只讀纤子。
- required:規(guī)定文本區(qū)域是必填的搬瑰。
- wrap(值:
hard,soft
):規(guī)定當(dāng)在表單中提交時,文本區(qū)域中的文本如何換行控硼。
label標(biāo)簽:
<label>
標(biāo)簽為input
元素定義標(biāo)注(標(biāo)記)泽论。
label
:不會向用戶呈現(xiàn)任何特殊效果。不過卡乾,它為鼠標(biāo)用戶改進了可用性翼悴。如果您在 label 元素內(nèi)點擊文本,就會觸發(fā)此控件幔妨。就是說鹦赎,當(dāng)用戶選擇該標(biāo)簽時谍椅,瀏覽器就會自動將焦點轉(zhuǎn)到和標(biāo)簽相關(guān)的表單控件上。
屬性:
for(值:id
):規(guī)定 label
綁定到哪個表單元素古话。
form(值:formid
):規(guī)定label
字段所屬的一個或多個表單雏吭。