有關(guān)form表單的一些基礎(chǔ)知識(shí)

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

表單是web頁(yè)面與服務(wù)器交互過(guò)程中最重要的信息來(lái)源,它會(huì)搜集用戶的輸入,并以提交的方式來(lái)傳輸?shù)椒?wù)器上進(jìn)行處理并可能返回反饋的一個(gè)媒介,從而來(lái)實(shí)現(xiàn)人機(jī)交互。
常見(jiàn)的input標(biāo)簽及作用有下面幾個(gè)

<input type="text">  單行文本輸入框
<input type="password">  密碼輸入框
<input type="checkbox">  復(fù)選框
<input type="radio">  單選框
<input type="file">  上傳按鈕
<input type="submit">  提交按鈕
<input type="button">  按鈕(也可以寫為<button>內(nèi)容</button>)
<input type="reset">  重置按鈕
<select>  下拉單選
  <option></option>
  <option></option>
</select>
<textarea></textarea> 多行文本輸入框
<input type="number">  數(shù)字輸入框
<input type="hidden"> 隱藏域

2、form的method屬性get和post的區(qū)別是什么?

1.get方法是將提交內(nèi)容拼成一個(gè)字符串進(jìn)行提交,提交的輸入項(xiàng)name和value值會(huì)暴露(但我們不能夠憑這一點(diǎn)就直接判定post方法比get方法安全),而且在內(nèi)容非常龐雜的時(shí)候,因?yàn)闉g覽器輸入域名的位置有字?jǐn)?shù)限制可能會(huì)截取一部分,不能完全提交,而post方法就沒(méi)有這一缺點(diǎn)
2.get請(qǐng)求的URL可以被瀏覽器緩存;post的請(qǐng)求不能夠被瀏覽器緩存:這涉及到一個(gè)使用場(chǎng)景的問(wèn)題,如果用戶的輸入不是非常重要機(jī)密的信息就比如性別年齡這一種,當(dāng)下次用戶還是使用同一瀏覽器進(jìn)行訪問(wèn)這個(gè)網(wǎng)站的時(shí)候,使用get方法可能會(huì)更合適一些。
3.get表達(dá)的是一種冪等的,只讀的,純粹的操作,即它除了返回結(jié)果不應(yīng)該會(huì)產(chǎn)生其它副作用(如寫數(shù)據(jù)庫(kù)),因此絕大部分get請(qǐng)求(通常超過(guò)90%)都直接被CDN緩存了,這能大大減少web服務(wù)器的負(fù)擔(dān)。而post所表達(dá)的語(yǔ)義是非冪等的,有副作用的操作,所以必須交由web服務(wù)器處理。(關(guān)于冪等的概念:Idempotent - 冪等 冪等的概念是指同一個(gè)請(qǐng)求方法執(zhí)行多次和僅執(zhí)行一次的效果完全相同。按照RFC規(guī)范,PUT,DELETE和安全方法都是冪等的。同樣,這也僅僅是規(guī)范,服務(wù)端實(shí)現(xiàn)是否冪等是無(wú)法確保的。)

3、在input中,name有什么作用?

name是作為inout的一個(gè)屬性存在的,在處理表單時(shí),我們的關(guān)注點(diǎn)為用戶填寫的信息,此時(shí),表單的每一項(xiàng)的name都作為我們提取到的信息的一個(gè)”標(biāo)簽“,可以理解為每個(gè)分類的一個(gè)標(biāo)簽名稱,每一個(gè)表單項(xiàng)都必須要有name值,否則這個(gè)表單無(wú)法進(jìn)行任何操作,相當(dāng)屬于一個(gè)廢的表單。有一個(gè)需要注意的點(diǎn):在單選按鈕組中,我們的需求一般是多個(gè)中選擇一個(gè)合理的,那么這個(gè)時(shí)候這個(gè)單選按鈕組無(wú)論有幾個(gè)<input type="radio">它們的name都必須一致。而提交的內(nèi)容顯示形式為:name:value的形式。

4、radio如何分組?

這個(gè)問(wèn)題即為上個(gè)問(wèn)題末尾所說(shuō)的,一組單選按鈕需要選擇一個(gè)時(shí),那么無(wú)論有幾個(gè)<input type="radio">它們的name都必須一致。以下是個(gè)示例:

<label>請(qǐng)選擇性別</label>
<input type="radio" value="男"  name="gender">男
<input type="radio" value="女"  name="gender">女
<label>請(qǐng)選擇晚飯吃什么</label>
<input type="radio" value="one"  name="dinner">火鍋
<input type="radio" value="two"  name="dinner">披薩
<input type="radio" value="three"  name="dinner">烤魚
<input type="radio" value="four"  name="dinner">沙拉

5、placeholder有什么作用?

我們經(jīng)常會(huì)遇到一些表單沒(méi)有l(wèi)abel提示項(xiàng),這個(gè)時(shí)候,表單可以用placeholder來(lái)對(duì)用戶進(jìn)行提醒,這一個(gè)輸入框是需要輸入什么樣的內(nèi)容,如下圖紅框內(nèi)容:


demo.png

6、type=hidden隱藏域有什么作用?

根據(jù)我的個(gè)人少少的經(jīng)驗(yàn)所得,一般后端開(kāi)發(fā)會(huì)經(jīng)常使用這個(gè)表單項(xiàng)。隱藏域可以存數(shù)一些數(shù)據(jù),在頁(yè)面上是不做展示的,這個(gè)有一個(gè)比較好的作用是可以預(yù)防csrf攻擊,給這個(gè)隱藏域賦一個(gè)值,當(dāng)用戶點(diǎn)擊提交時(shí)后臺(tái)進(jìn)行驗(yàn)證隱藏域的內(nèi)容是否是我們定義的值,如果是,那么這個(gè)表單是正常的,如果沒(méi)有隱藏域或者隱藏域的位置不對(duì),內(nèi)容不對(duì),那么我們需要警惕是否被攻擊。

7、HTML表單的用法

當(dāng)頁(yè)面上有表單項(xiàng)的時(shí)候,能夠提交的前提是這一部分表單必須有<form></form>標(biāo)簽包裹,否則不能提交!??!原因是:表單提交需要有一個(gè)提交地址以及提交方式,也就是我們需要給form標(biāo)簽規(guī)定其method(提交方式)和action(提交地址)以便服務(wù)器能夠處理。內(nèi)容中的input中每一種表單項(xiàng)需要給每一個(gè)規(guī)定其value值(有一部分value初始值可有可無(wú),比如說(shuō)<input type="text">;當(dāng)然<input type="password">是沒(méi)必要有初始值的也不建議有;select中的option每一個(gè)需要有一個(gè)value值以便進(jìn)行處理;<input type="radio"><input type="checkbox">的value值是必須存在的)和name值(必需)。最后我們需要一個(gè)提交按鈕,一般是用<input type="submit">來(lái)進(jìn)行提交的。

最后編輯于
?著作權(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)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評(píng)論 19 139
  • 1.form表單有什么作用?有哪些常用的input 標(biāo)簽,分別有什么作用? HTML 表單用于接收不同類型的用戶輸...
    大胡子歌歌閱讀 983評(píng)論 0 1
  • 本人做php的,最近發(fā)現(xiàn)JS真的是博大精深啊,比PHP難.在HTML中,表單是由form元素來(lái)表示的,但是在jav...
    linfree閱讀 2,343評(píng)論 3 17
  • <input>標(biāo)簽 標(biāo)簽用于搜集用戶信息,根據(jù)不同的type屬性值,輸入字段擁有很多種形式。輸入字段可以是文本字段...
    _空空閱讀 4,206評(píng)論 0 3
  • 無(wú)聊的上班時(shí)間接到茜茜姑娘的電話: “我boss在你公司附近開(kāi)庭,得2個(gè)小時(shí),我馬上到你公司了?!?“嗯,好?!?...
    小主來(lái)了閱讀 554評(píng)論 0 1

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