1.form表單有什么作用?有哪些常用的input 標(biāo)簽,分別有什么作用?
form表單的作用是收集用戶(hù)的輸入,用戶(hù)提交表單時(shí)向服務(wù)器傳輸數(shù)據(jù),從而實(shí)現(xiàn)用戶(hù)與web服務(wù)器的交換。
form標(biāo)簽是表單的外殼,主要有四個(gè)屬性:
1.action:表單提交的地址
2.method:提交表單的方法
3.target:在何處打開(kāi)action
4.enctype:
- application/x-www-form-urlencoded:在發(fā)送前編碼所有字符(默認(rèn))
- text/plain:空格轉(zhuǎn)換為“+”加號(hào),但不對(duì)特殊字符編碼
- multipart/form-data:使用包含文件上傳空間的表單時(shí),必須使用改值
標(biāo)簽 作用
<input type="text"> 用來(lái)定義單行輸入文本框
<input type="password"> 用來(lái)定義密碼字段
<input type="submit"> 用來(lái)定義提交表單數(shù)據(jù)至表單處理程序的按鈕
<input type="button"> 用來(lái)定義按鈕
<input type="reset"> 用來(lái)定義重置按鈕
<input type="file"> 用來(lái)定義輸入字段和 "瀏覽..." 按鈕,供文件上傳
<input type="checkbox"> 用來(lái)定義定義復(fù)選框
<input type="radio"> 用來(lái)定義單選按鈕
2.post 和 get 方式的區(qū)別?
- 首先
post和get都是瀏覽器向服務(wù)器發(fā)送請(qǐng)求的一種方式; -
get是向服務(wù)器得到數(shù)據(jù),post是向服務(wù)器傳輸數(shù)據(jù); -
get的安全性很低,post的安全性比較高,get在傳輸數(shù)據(jù)時(shí),用戶(hù)名和賬號(hào)都在url上,如果頁(yè)面被緩存或者被其他用戶(hù)使用,那么他可能從歷史記錄里獲得該用戶(hù)的密碼和賬號(hào);而post在傳輸數(shù)據(jù)時(shí),這個(gè)請(qǐng)求的url是不會(huì)發(fā)生變化的,但是數(shù)據(jù)也會(huì)通過(guò)瀏覽器傳輸給后臺(tái),所以還用戶(hù)的密碼和賬號(hào)是不會(huì)被其他人發(fā)現(xiàn)的。
3.在input里,name 有什么作用?
-
name屬性規(guī)定input元素的名稱(chēng); -
name屬性用于對(duì)提交到服務(wù)器后的表單的數(shù)據(jù)進(jìn)行標(biāo)識(shí),或者在客戶(hù)端通過(guò)JavaScript引用表單數(shù)據(jù); - 只有設(shè)置了
name屬性的表單元素在提交數(shù)據(jù)時(shí)才能傳遞它們的值;
4.radio 如何 分組?
通過(guò)name的屬性值進(jìn)行分組,同一組name必須相同
5.placeholder 屬性有什么作用?
- placeholder 屬性提供可描述輸入字段預(yù)期值的提示信息(hint)。
- 該提示會(huì)在輸入字段為空時(shí)顯示,并會(huì)在字段獲得焦點(diǎn)時(shí)消失。
- placeholder 屬性適用于以下的 <input> 類(lèi)型:text, search, url, telephone, email 以及 password。
6.type=hidden隱藏域有什么作用? 舉例說(shuō)明
代碼格式為
<input type="hidden" name="..." value="...">
- 隱藏域是用來(lái)收集或發(fā)送信息的不可見(jiàn)元素,對(duì)于網(wǎng)頁(yè)的訪問(wèn)者來(lái)說(shuō),隱藏域是看不見(jiàn)的。當(dāng)表單被提交時(shí),隱藏域就會(huì)將信息用你設(shè)置時(shí)定義的名稱(chēng)和值發(fā)送到服務(wù)器上;
- 隱藏域在頁(yè)面中對(duì)于用戶(hù)是不可見(jiàn)的,在表單中插入隱藏域的目的在于收集或發(fā)送信息,以利于被處理表單的程序所使用。瀏覽者單擊發(fā)送按鈕發(fā)送表單的時(shí)候,隱藏域的信息也被一起發(fā)送到服務(wù)器;
- 有時(shí)候一個(gè)網(wǎng)頁(yè)中有多個(gè)form,我們知道多個(gè)form是不能同時(shí)提交的,但有時(shí)這些form確實(shí)相互作用,我們就可以在form中添加隱藏域來(lái)使它們聯(lián)系起來(lái);
- 防止別人偽造頁(yè)面,當(dāng)其他用戶(hù)知道了我的請(qǐng)求地址,當(dāng)他向這個(gè)地址發(fā)送一個(gè)post(或者get)請(qǐng)求,把所以的參數(shù)都發(fā)送過(guò)去,那么就相當(dāng)于修改了我的數(shù)據(jù)庫(kù),但是如果加了一個(gè)value的值這么一個(gè)參數(shù)或者(他所知道的這個(gè)參數(shù)是錯(cuò)的),那么即使他知道我的請(qǐng)求地址,并把他的請(qǐng)求數(shù)據(jù)發(fā)送給服務(wù)器,服務(wù)器也是不認(rèn)的。
隱藏域的使用,就是從表中取值ID值,或者別的變量值,但在頁(yè)面中不顯示,然后經(jīng)過(guò)的遞交到新一頁(yè),通過(guò)request.form(“隱藏域名的name”)取出值
舉例:
1、<input type=hidden name=coun value=<%=cc%>>這里的隱藏域名為coun,值為<%=cc%>,假設(shè)前面cc=100的話(huà),即值為100;
2、遞交表單到新頁(yè)面xx.asp;
3、在xx.asp頁(yè)中,使用request.write request.form(“coun”),則在頁(yè)面中顯示的值就是100