form表單有什么作用?有哪些常用的input 標(biāo)簽,分別有什么作用?
- Form表單標(biāo)簽通常用于收集用戶所填寫的信息提交到后臺(tái),其中有兩個(gè)屬性 action和method。 action代表用戶提交表單后發(fā)送的服務(wù)器地址,method則有兩種方式 get/post 如下:
<form action"xxx.php" method="get/post"> </form>
還用另外三種method方式:put 更新或者代替 patch 修改或者更新 delete 刪除
post 和 get 方式的區(qū)別?
以get的方式去傳輸數(shù)據(jù)和以post的方式去傳輸有三大不同:
- 提交方式的不同:在get提交請(qǐng)求中通常會(huì)把用戶信息顯示在地址欄當(dāng)中用用?割開URL和參數(shù)信息,多個(gè)參數(shù)使用&鏈接。例如:
/books/?sex=man&name=Professional
而post提交請(qǐng)求則是把用戶信息放在HTTP包的包體當(dāng)中且地址欄不會(huì)改變。 - 數(shù)據(jù)限制方式不同:在get請(qǐng)求中通常會(huì)把參數(shù)顯示在url后,當(dāng)參數(shù)過多時(shí)有些瀏覽器和服務(wù)器就會(huì)對(duì)url進(jìn)行截?cái)?。,因?strong>get提交數(shù)據(jù)時(shí)會(huì)因?yàn)閁RL長(zhǎng)度受到限制。然而post因?yàn)椴粫?huì)將參數(shù)顯示在url后,理論上是不受限制的,但也會(huì)受到服務(wù)器接收數(shù)據(jù)大小的限制。
- 安全性的不同:post安全性高于get,get請(qǐng)求會(huì)將數(shù)據(jù)清楚的顯示在地址欄,登陸頁面可能被瀏覽器緩存,歷史記錄可能被他人查看,且get提交數(shù)據(jù)容易受到CRF攻擊。
- 不確切的來說就是get一般多用于請(qǐng)求服務(wù)器上的數(shù)據(jù),而post更多是修改數(shù)據(jù)。
在input里,name 有什么作用?
- name作為html標(biāo)簽里的鍵傳到后臺(tái)上,對(duì)比value即可知道 value相當(dāng)于值傳輸?shù)胶笈_(tái)后為
name:value
radio 如何 分組?
- 具有相同name的分為一組例如:
2.<input type"radio" name="sex" value="female">女
3.<input type"radio" name="sex1" value="male">男
4.<input type"radio" name="sex1" value="female">女
這樣就是1,2為一組, 3,4為一組。
placeholder 屬性有什么作用?
- placeholder屬性一般配合input使用用來提示用戶輸入且它的值不會(huì)被提交到后臺(tái)。
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)掉。