一、表單
1.表單的作用
HTML 表單用于接收不同類(lèi)型的用戶(hù)輸入,用戶(hù)提交表單時(shí)向服務(wù)器傳輸數(shù)據(jù),從而實(shí)現(xiàn)用戶(hù)與Web服務(wù)器的交互。
2.表單的工作機(jī)制
3.表單定義(<form></form>標(biāo)簽)
HTML表單是一個(gè)包含表單元素的區(qū)域, 表單使用<form> 標(biāo)簽創(chuàng)建。表單能夠包含input元素,比如文本字段、復(fù)選框、單選框、提交按鈕等等。表單還可以包含 menus、textarea、fieldset、legend 和 label 元素。注意,<form >元素是塊級(jí)元素,其前后會(huì)產(chǎn)生折行。
<form action="login.do" method="post"> <!--表單元素在這里--> </form>
4.表單屬性
action:規(guī)定當(dāng)提交表單時(shí),向何處發(fā)送表單數(shù)據(jù)。action取值為:第一,一個(gè)URL(絕對(duì)URL/相對(duì)URL),一般指向服務(wù)器端一個(gè)程序,程序接收到表單提交過(guò)來(lái)的數(shù)據(jù)(即表單元素值)作相應(yīng)處理。比如<form action="http://www.XXX.com/login.do">,當(dāng)用戶(hù)提交這個(gè)表單時(shí),服務(wù)器將執(zhí)行網(wǎng)址"http://www.XXX.com/"上的名為"login.do"的一般處理程序。第二,使用mailto協(xié)議的URL地址,這樣會(huì)將表單內(nèi)容以電子郵件的形式發(fā)送出去。這種情況比較少見(jiàn)的,因?yàn)樗笤L問(wèn)者的計(jì)算機(jī)上安裝和正確設(shè)置好了郵件發(fā)送程序。第三,空值,如果action為空或不寫(xiě),表示提交給當(dāng)前頁(yè)面。
method:該屬性定義瀏覽器將表單中的數(shù)據(jù)提交給服務(wù)器處理程序的方式。關(guān)于method的取值,最常用的是get和post。第一,使用get方式提交表單數(shù)據(jù),Web瀏覽器會(huì)將各表單字段元素及其數(shù)據(jù)按照URL參數(shù)格式附在<form>標(biāo)簽的action屬性所指定的URL地址后面發(fā)送給Web服務(wù)器;由于URL的長(zhǎng)度限制,使用get方式傳送的數(shù)據(jù)量一般限制在1KB以下。第二,使用post方式,瀏覽器會(huì)將表單數(shù)據(jù)作為HTTP請(qǐng)求體的一部分發(fā)送給服務(wù)器。一般來(lái)說(shuō),使用post方式傳送的數(shù)據(jù)量要比get方式傳遞的數(shù)據(jù)量大;根據(jù)HTML標(biāo)準(zhǔn),如果處理表單的服務(wù)器程序不會(huì)改變服務(wù)器上存儲(chǔ)的數(shù)據(jù),則應(yīng)采用get方式(比如查詢(xún)),如果表單處理的結(jié)果會(huì)引起服務(wù)器上存儲(chǔ)的數(shù)據(jù)的變化,則應(yīng)該采用post方式(比如增刪改操作)。第三,其它方式(Head、PUT、DELETE、TRACE 或 OPTIONS等)。其實(shí),最初HTTP標(biāo)準(zhǔn)對(duì)各種操作都規(guī)定了相應(yīng)的method,但后來(lái)很多都沒(méi)有被遵守,大部分情況只是使用get或post就OK。
target:該屬性規(guī)定在何處顯示action屬性中指定的URL所返回的結(jié)果。取值有_blank(在新窗口中打開(kāi))、_self(在相同的框架中打開(kāi),默認(rèn)值)、_parent(在父框架中打開(kāi))、_top(在整個(gè)窗口中打開(kāi))和framename(在指定的框架中打開(kāi))。
title:設(shè)置網(wǎng)站訪問(wèn)者的鼠標(biāo)放在表單上的任意位置停留時(shí),瀏覽器用小浮標(biāo)顯示的文本。
enctype:規(guī)定在發(fā)送到服務(wù)器之前應(yīng)該如何對(duì)表單數(shù)據(jù)進(jìn)行編碼。取值:默認(rèn)值為 "application/x-www-form-urlencoded",在發(fā)送到服務(wù)器之前,所有字符都會(huì)進(jìn)行編碼(空格轉(zhuǎn)換為 "+" 加號(hào),特殊符號(hào)轉(zhuǎn)換為 ASCII HEX 值);“multipart/form-data”:不對(duì)字符編碼。在使用包含文件上傳控件的表單時(shí),必須使用該值。
name:表單的名稱(chēng)。注意和id屬性的區(qū)別:name屬性是和服務(wù)器通信時(shí)使用的名稱(chēng);而id屬性是瀏覽器端使用的名稱(chēng),該屬性主要是為了方便客戶(hù)端編程,而在css和javascript中使用的。
二、表單元素
1.單行文本框<input type="text"/>(input 的type 屬性的默認(rèn)值就是"text")
<input type = “text” name=“名稱(chēng)”/>
以下是單行文本框的主要屬性:
- size:指定文本框的寬度,以字符個(gè)數(shù)為單位;在大多數(shù)瀏覽器中,文本框的缺省寬度是20個(gè)字符。
- value:指定文本框的默認(rèn)值,是在瀏覽器第一次顯示表單或者用戶(hù)單擊<input type="reset"/>按鈕之后在文本框中顯示的值。
- maxlength:指定用戶(hù)輸入的最大字符長(zhǎng)度。
- readonly:只讀屬性,當(dāng)設(shè)置readonly屬性后,文本框可以獲得焦點(diǎn),但用戶(hù)不能改變文本框中的value。
- disabled:禁用,當(dāng)文本框被禁用時(shí),不能獲得焦點(diǎn),當(dāng)然,用戶(hù)也不能改變文本框的值。并且在提交表單時(shí),瀏覽器不會(huì)將該文本框的值發(fā)送給服務(wù)器。