一澜薄、form表單有什么作用为肮?
表單的作用:
表單在網(wǎng)頁中主要負(fù)責(zé)數(shù)據(jù)采集功能,把用戶填寫的信息提交到網(wǎng)站的后臺(tái)服務(wù)器肤京。
一個(gè)表單有三個(gè)基本組成部分:
表單標(biāo)簽:這里面包含了處理表單數(shù)據(jù)所用CGI程序的URL以及數(shù)據(jù)提交到服務(wù)器的方法。
表單域:包含了文本框茅特、密碼框忘分、隱藏域、多行文本框白修、復(fù)選框妒峦、單選框、下拉選擇框和文件上傳框等兵睛。
表單按鈕:包括提交按鈕肯骇、復(fù)位按鈕和一般按鈕;用于將數(shù)據(jù)傳送到服務(wù)器上的CGI腳本或者取消輸入祖很,還可以用表單按鈕來控制其他定義了處理腳本的處理工作笛丙。
二、form標(biāo)簽的常用屬性分類:
form是表單的外殼假颇,內(nèi)包屬性胚鸯。
舉例:
<form action="demo_form.php" method="get"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="提交"> </form>
1.action是提交的地址
語法:<form action="value">
值為url 。demo_form.php代表笨鸡,確認(rèn)提交后填寫的數(shù)據(jù)將被提交到當(dāng)前域名下這個(gè)路徑的路由上面姜钳。
絕對(duì) URL - 指向其他站點(diǎn)(比如 src="www.example.com/example.htm")
相對(duì) URL - 指向站點(diǎn)內(nèi)的文件(比如 src="example.htm")
2.method是表單提交的方法,分為兩種形耗,post和get
規(guī)定用于發(fā)送 form-data 的 HTTP 方法哥桥。
如果采用 POST 方法,瀏覽器會(huì)按照兩步來發(fā)送數(shù)據(jù)激涤。
首先拟糕,瀏覽器將與 action 屬性中指定的表單處理服務(wù)器建立聯(lián)系,一旦建立連接之后昔期,瀏覽器就會(huì)按分段傳輸?shù)姆椒▽?shù)據(jù)發(fā)送給服務(wù)器已卸。在服務(wù)器端,一旦 POST 樣式的應(yīng)用程序開始執(zhí)行時(shí)硼一,就應(yīng)該從一個(gè)標(biāo)志位置讀取參數(shù)累澡,而一旦讀到參數(shù),在應(yīng)用程序能夠使用這些表單值以前般贼,必須對(duì)這些參數(shù)進(jìn)行解碼愧哟。用戶特定的服務(wù)器會(huì)明確指定應(yīng)用程序應(yīng)該如何接受這些參數(shù)奥吩。
另一種情況是采用 GET 方法,這時(shí)瀏覽器會(huì)與表單處理服務(wù)器建立連接蕊梧,然后直接在一個(gè)傳輸步驟中發(fā)送所有的表單數(shù)據(jù):瀏覽器會(huì)將數(shù)據(jù)直接附在表單的 action URL 之后霞赫。這兩者之間用問號(hào)進(jìn)行分隔。
3.target:在何處打開action
語法<form target="value">
value值如下
_blank 在新窗口中打開肥矢。
_self 默認(rèn)端衰。在相同的框架中打開。
_parent 在父框架集中打開甘改。
_top 在整個(gè)窗口中打開旅东。
framename 在指定的框架中打開。
4.enctype:規(guī)定在發(fā)送表單數(shù)據(jù)之前如何對(duì)其進(jìn)行編碼
語法:<form enctype="value">
application/x-www-form-urlencoded 在發(fā)送前編碼所有字符(默認(rèn))
multipart/form-data 不對(duì)字符編碼十艾。在使用包含文件上傳控件的表單時(shí)抵代,必須使用該值。
text/plain 空格轉(zhuǎn)換為 "+" 加號(hào)忘嫉,但不對(duì)特殊字符編碼荤牍。
默認(rèn)地,表單數(shù)據(jù)會(huì)編碼為 "application/x-www-form-urlencoded"庆冕。就是說康吵,在發(fā)送到服務(wù)器之前,所有字符都會(huì)進(jìn)行編碼(空格轉(zhuǎn)換為 "+" 加號(hào)愧杯,特殊符號(hào)轉(zhuǎn)換為 ASCII HEX 值)涎才。
三、最常用標(biāo)簽——input標(biāo)簽用法小結(jié):
<input>
標(biāo)簽用于搜集用戶信息力九。
語法:<input type="value">
根據(jù)不同的 type 屬性值耍铜,輸入字段擁有很多種形式。輸入字段可以是文本字段跌前、復(fù)選框棕兼、掩碼后的文本控件、單選按鈕抵乓、按鈕等等伴挚。
type:規(guī)定元素類型
button 定義可點(diǎn)擊按鈕(多數(shù)情況下,用于通過 JavaScript 啟動(dòng)腳本)灾炭。
checkbox 復(fù)選框
file 上傳文件茎芋,定義輸入字段和 "瀏覽"按鈕,供文件上傳蜈出。accept:mime 類型田弥,多個(gè)以,分割。
hidden 定義隱藏的輸入字段铡原。隱藏字段對(duì)于用戶是不可見的偷厦。隱藏字段通常會(huì)存儲(chǔ)一個(gè)默認(rèn)值商叹,它們的值也可以由 JavaScript 進(jìn)行修改。
image 定義圖像形式的提交按鈕只泼。必須把 src 屬性 和 alt 屬性 與 <input type="image"> 結(jié)合使用剖笙。
password 密碼字段中的字符會(huì)被掩碼(顯示為星號(hào)或原點(diǎn))。
radio 定義單選按鈕请唱。單選按鈕允許用戶選取給定數(shù)目的選擇中的一個(gè)選項(xiàng)弥咪,命名要相同。
reset 定義重置按鈕籍滴。重置按鈕會(huì)清除表單中的所有數(shù)據(jù)酪夷。
submit 定義提交按鈕。提交按鈕用于向服務(wù)器發(fā)送表單數(shù)據(jù)孽惰。數(shù)據(jù)會(huì)發(fā)送到表單的 action 屬性中指定的頁面。
text 文本輸入框(單行輸入)鸥印,默認(rèn)寬度為 20 個(gè)字符勋功。
label:為 input 元素定義標(biāo)注
label 元素不會(huì)向用戶呈現(xiàn)任何特殊效果,只是為鼠標(biāo)用戶改進(jìn)了可用性库说。在 label 元素內(nèi)點(diǎn)擊文本狂鞋,就會(huì)觸發(fā)此控件。就是說潜的,當(dāng)用戶選擇該標(biāo)簽時(shí)骚揍,瀏覽器就會(huì)自動(dòng)將焦點(diǎn)轉(zhuǎn)到和標(biāo)簽相關(guān)的表單控件上。
<label> 標(biāo)簽的 for 屬性應(yīng)當(dāng)與相關(guān)元素的 id 屬性相同啰挪。"for" 屬性可把 label 綁定到另外一個(gè)元素信不。
select :可創(chuàng)建單選或多選菜單
<select&>
元素中的<option>
標(biāo)簽用于定義列表中的可用選項(xiàng),實(shí)際運(yùn)作中后端以select標(biāo)簽的name獲取選中的option的value。