1. form表單有什么作用规肴?有哪些常用的input 標(biāo)簽,分別有什么作用?
表單在web應(yīng)用中主要是用來進(jìn)行數(shù)據(jù)收集的缨叫,將用戶的輸入通過表單收集后傳給服務(wù)端
常用的input標(biāo)簽:
type=text:輸入類型是text,這是我們見的最多也是使用最多的荔燎,比如登陸輸入用戶名耻姥,注冊(cè)輸入電話號(hào)碼,電子郵件有咨,住址等等琐簇。
type=password:輸入類型是password,一看就明白的密碼輸入框座享,最大的區(qū)別就是當(dāng)在此輸入框輸入信息時(shí)顯示為保密字符婉商。
type=textarea:輸入類型是textarea,用來輸入大段文字
type=hidden:表單的隱藏域渣叛,一般用來傳遞參數(shù)丈秩,而又不想顯示在客戶端,就可以用hidden來實(shí)現(xiàn)
type=checkbox:多選框淳衙,常見于注冊(cè)時(shí)選擇愛好蘑秽、性格饺著、等信息。參數(shù)有name,value及特別參數(shù)checked(表示默認(rèn)選擇) 其實(shí)最重要的還是value值肠牲,提交到處理頁的也就是value幼衰。
type=radio:?jiǎn)芜x框,出現(xiàn)在多選一的頁面設(shè)定中埂材。參數(shù)同樣有name,value及特別參數(shù)checked塑顺。不同于checkbox的是,name值一定要相同俏险,否則就不能多選一严拒。當(dāng)然提交到處理頁的也還是value值。
type=file:文件上傳選項(xiàng)竖独,作為文件上傳的按鈕裤唠,點(diǎn)擊文件上傳按鈕后會(huì)彈出目錄框供選擇文件
type=submit or type=reset
分別是“提交”和“重置”兩按鈕,submit主要功能是將Form中所有內(nèi)容進(jìn)行提交action頁處理莹痢,reset是快速清空所有填寫內(nèi)容的功能种蘸。
2. post 和 get 方式的區(qū)別?
GET和POST是HTTP請(qǐng)求的兩種基本方法竞膳,他們的區(qū)別主要有以下幾點(diǎn)
GET后退按鈕/刷新無害航瞭,POST數(shù)據(jù)會(huì)被重新提交(瀏覽器應(yīng)該告知用戶數(shù)據(jù)會(huì)被重新提交)。
GET書簽可收藏坦辟,POST為書簽不可收藏刊侯。
GET能被緩存,POST不能緩存 锉走。
GET編碼類型application/x-www-form-url滨彻,POST編碼類型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。為二進(jìn)制數(shù)據(jù)使用多重編碼挪蹭。
GET歷史參數(shù)保留在瀏覽器歷史中亭饵。POST參數(shù)不會(huì)保存在瀏覽器歷史中。
GET對(duì)數(shù)據(jù)長(zhǎng)度有限制梁厉,當(dāng)發(fā)送數(shù)據(jù)時(shí)辜羊,GET 方法向 URL 添加數(shù)據(jù);URL 的長(zhǎng)度是受限制的(URL 的最大長(zhǎng)度是 2048 個(gè)字符)词顾。POST無限制只冻。
GET只允許 ASCII 字符。POST沒有限制计技。也允許二進(jìn)制數(shù)據(jù)喜德。
與 POST 相比,GET 的安全性較差垮媒,因?yàn)樗l(fā)送的數(shù)據(jù)是 URL 的一部分舍悯。在發(fā)送密碼或其他敏感信息時(shí)絕不要使用 GET 航棱!POST 比 GET 更安全,因?yàn)閰?shù)不會(huì)被保存在瀏覽器歷史或 web 服務(wù)器日志中萌衬。
GET的數(shù)據(jù)在 URL 中對(duì)所有人都是可見的饮醇。POST的數(shù)據(jù)不會(huì)顯示在 URL 中。
3. 在input里秕豫,name 有什么作用朴艰?
? ?1. 表單(form)的控件名,提交的數(shù)據(jù)都用控件的name而不是id來控制混移。因?yàn)橛性S多name會(huì)同時(shí)對(duì)應(yīng)多個(gè)控件,比如checkbox和radio, 而id必須是全文檔中唯一的祠墅。此外瀏覽器會(huì)根據(jù)name來設(shè)定發(fā)送到服務(wù)器的request。因此如果用id歌径,服務(wù)器是無法得到數(shù)據(jù)的毁嗦。
? ? 2. frame和window的名字,用于在其他frame或window指定target。
4. radio 如何分組?
radio分組通過控制name屬性值來實(shí)現(xiàn)回铛,相同的name屬性值為一組狗准,例如:
<input type=radio name="sex" value="男">男
<input type=radio name="sex" value="女">女
<input type=radio name="sex1" value="男">男
<input type=radio name="sex1" value="女">女
這里面的name屬性值有兩個(gè),一個(gè)是sex茵肃,另外一個(gè)是sex1腔长,通過name的設(shè)置就自動(dòng)的將這里的4個(gè)單選分成了兩組,name="sex"的為一組验残,name="sex1"為另一組
總結(jié):控制name屬性值來實(shí)現(xiàn)radio的分組
5. placeholder 屬性有什么作用?
placeholder 屬性提供可描述輸入字段預(yù)期值的提示信息(hint)捞附。該提示會(huì)在輸入字段為空時(shí)顯示,并會(huì)在字段獲得焦點(diǎn)時(shí)消失胚膊。placeholder是html5的新屬性故俐。
6. type=hidden隱藏域有什么作用? 舉例說明
? 1想鹰、隱藏域在頁面中對(duì)于用戶是不可見的紊婉,在表單中插入隱藏域的目的在于收集或發(fā)送信息,以利于被處理表單的程序所使用辑舷。瀏覽者單擊發(fā)送按鈕發(fā)送表單的時(shí)候喻犁,隱藏域的信息也被一起發(fā)送到服務(wù)器。
2何缓、有些時(shí)候我們要給用戶一信息肢础,讓他在提交表單時(shí)提交上來以確定用戶身份,如sessionkey碌廓,等等.當(dāng)然這些東西也能用cookie實(shí)現(xiàn)传轰,但使用隱藏域就簡(jiǎn)單的多了.而且不會(huì)有瀏覽器不支持,用戶禁用cookie的煩惱谷婆。
3慨蛙、有些時(shí)候一個(gè)form里有多個(gè)提交按鈕辽聊,怎樣使程序能夠分清楚到底用戶是按那一個(gè)按鈕提交上來的呢?我們就可以寫一個(gè)隱藏域期贫,然后在每一個(gè)按鈕處加上 onclick="document.form.command.value="xx""然后我們接到數(shù)據(jù)后先檢查command的值就會(huì)知道用戶是按的那個(gè)按鈕提交上來的跟匆。
4、有時(shí)候一個(gè)網(wǎng)頁中有多個(gè)form通砍,我們知道多個(gè)form是不能同時(shí)提交的玛臂,但有時(shí)這些form確實(shí)相互作用,我們就可以在form中添加隱藏域來使它們聯(lián)系起來封孙。
5迹冤、javascript不支持全局變量,但有時(shí)我們必須用全局變量敛瓷,我們就可以把值先存在隱藏域里叁巨,它的值就不會(huì)丟失了。
6呐籽、還有個(gè)例子锋勺,比如按一個(gè)按鈕彈出四個(gè)小窗口,當(dāng)點(diǎn)擊其中的一個(gè)小窗口時(shí)其他三個(gè)自動(dòng)關(guān)閉.可是IE不支持小窗口相互調(diào)用狡蝶,所以只有在父窗口寫個(gè)隱藏域庶橱,當(dāng)小窗口看到那個(gè)隱藏域的值是close時(shí)就自己關(guān)掉。
如:
1贪惹、<input type=hidden name=coun value=<%=cc%>>
這里的隱藏域名為coun苏章,值為<%=cc%>,假設(shè)前面cc=100的話奏瞬,即值為100枫绅;
2、遞交表單<form action=xx.asp>到新頁面xx.asp硼端;
3并淋、在xx.asp頁中,使用request.write request.form("coun")珍昨,則在頁面中顯示的值就是100县耽。