Form表單

Form表單有什么作用

表單的作用是搜集用戶的輸入信息,用戶提交表單時(shí)向服務(wù)器傳輸數(shù)據(jù),從而實(shí)現(xiàn)用戶與web服務(wù)器的交互。

有哪些常用的input 標(biāo)簽,分別有什么作用?

type="text" 定義單行輸入文本框

type="button" 定義按鈕

type="checkbox" 定義復(fù)選框,可多選

type="radio" 定義單選框,只能單選,并且所有單選框的name值一套保持一致,這樣才能生效

type="submit" 定義提交按鈕

type="password" 定義密碼,輸入時(shí)*代替輸入值,看不到輸入值

type="reset" 定義重置按鈕,重置后表單重回默認(rèn)時(shí)的狀態(tài)

type="color" html5中用于指定顏色的控件

type="date" html5中用于輸入日期的控件

post和get的區(qū)別

最直觀的區(qū)別就是GET把參數(shù)包含在URL中,POST通過(guò)request body傳遞參數(shù)。

GET在瀏覽器回退時(shí)是無(wú)害的,而POST會(huì)再次提交請(qǐng)求。

GET產(chǎn)生的URL地址可以被Bookmark,而POST不可以。

GET請(qǐng)求會(huì)被瀏覽器主動(dòng)cache,而POST不會(huì),除非手動(dòng)設(shè)置。

GET請(qǐng)求只能進(jìn)行url編碼,而POST支持多種編碼方式。

GET請(qǐng)求參數(shù)會(huì)被完整保留在瀏覽器歷史記錄里,而POST中的參數(shù)不會(huì)被保留。

GET請(qǐng)求在URL中傳送的參數(shù)是有長(zhǎng)度限制的,而POST沒(méi)有。

對(duì)參數(shù)的數(shù)據(jù)類型,GET只接受ASCII字符,而POST沒(méi)有限制。

GET比POST更不安全,因?yàn)閰?shù)直接暴露在URL上,所以不能用來(lái)傳遞敏感信息。

GET參數(shù)通過(guò)URL傳遞,POST放在Request body中。

在input里,name 有什么作用?

name 屬性規(guī)定 input 元素的名稱。用于對(duì)提交到服務(wù)器后的表單數(shù)據(jù)進(jìn)行標(biāo)識(shí),或者在客戶端通過(guò) JavaScript 引用表單數(shù)據(jù)。只有設(shè)置了 name 屬性的表單元素,POST和GET的時(shí)候name和input中的值會(huì)形成鍵/值對(duì),才能在提交表單時(shí)傳遞它們的值

用途1:作為可與服務(wù)器交互數(shù)據(jù)的HTML元素的服務(wù)器端的標(biāo)示,比如input、select、textarea、和button等。我們可以在服務(wù)器端根據(jù)其Name通過(guò)Request.Params取得元素提交的值。

用途2:HTML元素Input type='radio'分組,我們知道radio button控件在同一個(gè)分組類,check操作是mutex的,同一時(shí)間只能選中一個(gè)radio,這個(gè)分組就是根據(jù)相同的Name屬性來(lái)實(shí)現(xiàn)的。

用途3:建立頁(yè)面中的錨點(diǎn),我們知道link是獲得一個(gè)頁(yè)面超級(jí)鏈接,如果不用href屬性,而改用Name,如:,我們就獲得了一個(gè)頁(yè)面錨點(diǎn)。

用途4:作為對(duì)象的Identity,如Applet、Object、Embed等元素。比如在Applet對(duì)象實(shí)例中,我們將使用其Name來(lái)引用該對(duì)象。

用途5:在IMG元素和MAP元素之間關(guān)聯(lián)的時(shí)候,如果要定義IMG的熱點(diǎn)區(qū)域,需要使用其屬性u(píng)semap,使usemap="#name"(被關(guān)聯(lián)的MAP元素的Name)。

用途6:某些特定元素的屬性,如attribute,meta和param。例如為Object定義參數(shù)或Meta中。

radio如何進(jìn)行分組

radio通過(guò)name屬性值來(lái)進(jìn)行分組 具有相同的name屬性值的radio為一組

placeholder 屬性有什么作用?

placeholder屬性一般會(huì)在輸入框有一個(gè)提示信息,該提示會(huì)在輸入字段為空時(shí)顯示,并會(huì)在字段獲得焦點(diǎn)時(shí)消失。但是要注意:

1 ?placeholder 屬性適用于以下的類型:text, search, url, telephone, email 以及 password

2 ?placeholder為HTML5的新屬性

type=hidden隱藏域有什么作用? 舉例說(shuō)明

隱藏域在頁(yè)面中對(duì)于用戶是不可見(jiàn)的,在表單中插入隱藏域的目的在于收集或發(fā)送信息,以利于被處理表單的程序所使用。瀏覽者單擊發(fā)送按鈕發(fā)送表單的時(shí)候,隱藏域的信息也被一起發(fā)送到服務(wù)器。例如可以防御CSRF(Cross-site request forgery,跨域請(qǐng)求偽造)攻擊,解決辦法: 在Form表單加一個(gè)hidden field,里面是服務(wù)端生成的足夠隨機(jī)數(shù)的一個(gè)Token(惡意網(wǎng)站猜不到也無(wú)法獲取到相同的Token), 然后使用一個(gè)攔截器interceptor來(lái)檢查每一個(gè)非get請(qǐng)求, 看該token與服務(wù)器token是否一致,不一致的不受理該請(qǐng)求

下面列舉一些隱藏域的使用場(chǎng)景:

有些時(shí)候我們要給用戶一信息,讓他在提交表單時(shí)提交上來(lái)以確定用戶身份,如sessionkey等。當(dāng)然這些東西也能用cookie實(shí)現(xiàn),但使用隱藏域就簡(jiǎn)單的多了.而且不會(huì)有瀏覽器不支持,用戶禁用cookie的煩惱。

有些時(shí)候一個(gè)form里有多個(gè)提交按鈕,怎樣使程序能夠分清楚到底用戶是按那一個(gè)按鈕提交上來(lái)的呢?我們就可以寫一個(gè)隱藏域,然后在每一個(gè)按鈕處加上onclick=”document.form.command.value=”xx””然后我們接到數(shù)據(jù)后先檢查command的值就會(huì)知道用戶是按的那個(gè)按鈕提交上來(lái)的。

有時(shí)候一個(gè)網(wǎng)頁(yè)中有多個(gè)form,我們知道多個(gè)form是不能同時(shí)提交的,但有時(shí)這些form確實(shí)相互作用,我們就可以在form中添加隱藏域來(lái)使它們聯(lián)系起來(lái)。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.form表單有什么作用?有哪些常用的input 標(biāo)簽,分別有什么作用? HTML 表單用于接收不同類型的用戶輸...
    大胡子歌歌閱讀 976評(píng)論 0 1
  • form表單有什么作用?有哪些常用的input 標(biāo)簽,分別有什么作用? 標(biāo)簽用于為用戶創(chuàng)建HTML表單,并向服務(wù)器...
    zx9426閱讀 641評(píng)論 0 1
  • 什么是FORM表單: 表單是用來(lái)提交資料、意見(jiàn),規(guī)范流程執(zhí)行過(guò)程的格式。表單在網(wǎng)頁(yè)中主要負(fù)責(zé)數(shù)據(jù)采集功能。一個(gè)表單...
    PYFang閱讀 1,234評(píng)論 0 0
  • 1.動(dòng)手 form 表單table 表格 2. <form>表單元素 1) 簡(jiǎn)述: 元素是塊級(jí)元素,其開(kāi)始標(biāo)簽和結(jié)...
    _Dot912閱讀 2,135評(píng)論 2 8
  • 六 擁有一個(gè)取景框,這是人類認(rèn)知與觀看世界的方式。人類社會(huì)大多數(shù)情景下——都是通過(guò)框架來(lái)觀看事物。北歐人的日常生活...
    詩(shī)哲魂閱讀 876評(píng)論 0 6

友情鏈接更多精彩內(nèi)容