1.form表單有什么作用?有哪些常用的input 標簽,分別有什么作用衍锚?
表單對于用戶而言是數(shù)據(jù)的錄入和提交的界面,對于網(wǎng)站而言是獲取用戶信息的途徑橡淑。它可以將用戶輸入的信息提交給網(wǎng)站服務器构拳。
-
<input name="xxx" type="text">
普通文本輸入框,用于提交文本信息。 -
<input name="xxx" type="password">
密碼輸入框置森,用于輸入密碼斗埂。 -
<input name="xxx" type="radio">
單選框,用于用戶勾選單選信息凫海。 -
<input name="xxx" type="checkbox">
多選框呛凶,用于用戶勾選多選信息。 -
<input name="xxx" type="button">
用于在頁面上添加一個普通按鈕行贪。按鈕可賦予不同的功能漾稀。 -
<input name="xxx" type="submit">
用于在頁面上添加一個提交按鈕,用于提交表單數(shù)據(jù)建瘫。 -
<input name="xxx" type="reset">
用于在頁面上添加一個重置按鈕崭捍,便于用戶修改所填信息。 -
<input name="xxx" type="image">
用一幅圖像作為按鈕啰脚。 -
<input name="xxx" type="file">
用于用戶上傳文件殷蛇。 -
<input name="xxx" type="hidden">
隱藏的表單,通常用于數(shù)據(jù)驗證橄浓,提高網(wǎng)站安全性粒梦。
2.post 和 get 方式的區(qū)別?
get:將表單的填充信息以key=value的形式拼接到action屬性所指的url中荸实,并跳轉(zhuǎn)到這個url匀们。例如文本輸入框中input的name屬性值為key,輸入的內(nèi)容為value
post:是通過HTTPpost機制准给,將表單內(nèi)各個字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址泄朴。用戶看不到這個過程。
- get方式會跳轉(zhuǎn)url地址圆存,post方式不會叼旋。
- get方式安全性低,post方式安全性高沦辙。
- get方式傳輸?shù)臄?shù)據(jù)量較小夫植,post方式傳輸數(shù)據(jù)量較大。
一般向后臺傳輸關(guān)鍵詞油讯,向后臺查詢索要數(shù)據(jù)详民,可以用get。
而主要功能是將用戶輸入的數(shù)據(jù)傳輸給后臺的情況下陌兑,一般用post沈跨。
3.在input里,name 有什么作用兔综?
name表示該表單項的名稱饿凛,用于跟其他表單項區(qū)別開來狞玛。在提交數(shù)據(jù)時name的值也會一并提交以區(qū)分數(shù)據(jù)種類。
4.radio 如何 分組?
<input name="單選按鈕名稱" type="radio" value="單選按鈕取值" />
在多個單選按鈕中涧窒,name屬性值相同的為一組心肪,一組中僅有一個選項可選。name屬性值不同則不屬同一組纠吴,選項互不影響硬鞍。
5.placeholder 屬性有什么作用?
用于在表單輸入框內(nèi)添加提示信息,該提示信息會在輸入字段為空時顯示戴已,并會在字段獲得焦點時消失固该。該提示信息僅作為對用戶的提示,不會跟隨表單數(shù)據(jù)一起提交服務器糖儡。
6.type=hidden隱藏域有什么作用? 舉例說明
hidden隱藏域無外乎下面六點作用:
- 隱藏域在頁面中對于用戶是不可見的伐坏,在表單中插入隱藏域的目的在于收集或發(fā)送信息,以利于被處理表單的程序所使用休玩。瀏覽者單擊發(fā)送按鈕發(fā)送表單的時候著淆,隱藏域的信息也被一起發(fā)送到服務器。
- 有些時候我們要給用戶一信息拴疤,讓他在提交表單時提交上來以確定用戶身份,如sessionkey独泞,等等.當然這些東西也能用cookie實現(xiàn)呐矾,但使用隱藏域就簡單的多了.而且不會有瀏覽器不支持,用戶禁用cookie的煩惱懦砂。
- 有些時候一個form里有多個提交按鈕蜒犯,怎樣使程序能夠分清楚到底用戶是按那一個按鈕提交上來的呢?我們就可以寫一個隱藏域荞膘,然后在每一個按鈕處加上onclick="document.form.command.value="xx""然后我們接到數(shù)據(jù)后先檢查command的值就會知道用戶是按的那個按鈕提交上來的罚随。
- 有時候一個網(wǎng)頁中有多個form,我們知道多個form是不能同時提交的羽资,但有時這些form確實相互作用淘菩,我們就可以在form中添加隱藏域來使它們聯(lián)系起來。
- javascript不支持全局變量屠升,但有時我們必須用全局變量潮改,我們就可以把值先存在隱藏域里,它的值就不會丟失了腹暖。
- 還有個例子汇在,比如按一個按鈕彈出四個小窗口,當點擊其中的一個小窗口時其他三個自動關(guān)閉.可是IE不支持小窗口相互調(diào)用脏答,所以只有在父窗口寫個隱藏域糕殉,當小窗口看到那個隱藏域的值是close時就自己關(guān)掉亩鬼。
例如:
-
<input name="xxx" type="hidden" value="123abc">
網(wǎng)頁開發(fā)者在一個表單中添加此隱藏域。當用戶在提交表單時阿蝶,此隱藏域的信息也會被一起提交到服務器雳锋。服務器就可以辨別有此隱藏域數(shù)據(jù)的是用戶正常途徑提交上來的,而有些沒有此隱藏域數(shù)據(jù)的就可能是惡意的csrf跨站攻擊赡磅。從而達到一定的防csrf攻擊的效果魄缚。