HTML中的表單

1. form表單有什么作用

<form name="myform" action="url" method="get/post"><form>

form表單用于把用戶輸入的數(shù)據(jù)提交給后臺服務(wù)器
name表示提交的表單名稱,action表示數(shù)據(jù)提交的地址,methods表示數(shù)據(jù)提交的方式,有g(shù)et和post,默認(rèn)是get

常用的input標(biāo)簽類型(type)
  • 單行文本輸入框
    <input name="username" type="text" placeholder="請輸入用戶名" maxlength=10 />

  • 密碼輸入框
    <input name="username" type="password" placeholder="請輸入密碼“”>

  • 復(fù)選框
    <input name="hobby" type="checkbox"> 讀書

  • 單選框
    <input name="sex" type="radio">女
    <input name="sex" type="radio">男

  • file
    <input name="myfile" type="file" accept="image/png">

  • 提交輸入
    <input type="submit">

  • 重置輸入
    <input type="reset" value="reset">

  • button
    <input type="button" value="Button" />

  • hidden
    <input type="hidden" name=" " value=" ">

input里面的name

name規(guī)定了input元素的名稱
name屬性用于對提交到服務(wù)器后的表單數(shù)據(jù)進(jìn)行標(biāo)識,或者在客戶端通過JS引用表單數(shù)據(jù)
注釋:只有設(shè)置了 name 屬性的表單元素才能在提交表單時傳遞它們的值。

2. GET和 POST方式的區(qū)別

HTTP定義了與服務(wù)器交互的不同方法,最基本的方法有4種,分別是GET,POST,PUT,DELETE。URL全稱是資源描述符,我們可以這樣認(rèn)為:一個URL地址,它用于描述一個網(wǎng)絡(luò)上的數(shù)據(jù),而HTTP中的GET,POST,PUT,DELETE就對應(yīng)著對這個數(shù)據(jù)的查,改,增,刪4個操作。到這里,大家應(yīng)該有個大概的了解了,GET一般用于獲取/查詢數(shù)據(jù),而POST一般用于更新數(shù)據(jù)。

原理不同
  • GET用于信息獲取,而且應(yīng)該是安全的和冪等的
  1. 這里的安全是說GET操作不會修改數(shù)據(jù),只會查詢數(shù)據(jù),不會改變服務(wù)器資源狀態(tài)。
  2. 冪等意味著對同一URL的多個請求應(yīng)該返回同樣的結(jié)果。這里我再解釋一下冪等這個概念:

冪等(idempotent、idempotence)是一個數(shù)學(xué)或計(jì)算機(jī)學(xué)概念,常見于抽象代數(shù)中。
  冪等有以下幾種定義:
  對于單目運(yùn)算,如果一個運(yùn)算對于在范圍內(nèi)的所有的一個數(shù)多次進(jìn)行該運(yùn)算所得的結(jié)果和進(jìn)行一次該運(yùn)算所得的結(jié)果是一樣的,那么我們就稱該運(yùn)算是冪等的。比如絕對值運(yùn)算就是一個例子,在實(shí)數(shù)集中,有abs(a)=abs(abs(a))。
  對于雙目運(yùn)算,則要求當(dāng)參與運(yùn)算的兩個值是等值的情況下,如果滿足運(yùn)算結(jié)果與參與運(yùn)算的兩個值相等,則稱該運(yùn)算冪等,如求兩個數(shù)的最大值的函數(shù),有在在實(shí)數(shù)集中冪等,即max(x,x) = x。

  • 運(yùn)用在這里,冪等就是不管你操作多少次,結(jié)果都一樣,比如你 get index,不過你 get 多少次,都是獲取 index。但是 post 就不冪等,因?yàn)?post第一次是新建一個post,第二次是新建第二個。
  • POST請求可能改變服務(wù)器上的資源
表象不同
  1. GET 請求的數(shù)據(jù)會拼接到action屬性所指的URL地址之后,比如jirengu.com?username=tail&password=123456
    POST則是把提交的數(shù)據(jù)打包到HTTP包的包體中,也就是HTML HEADER內(nèi)一起傳送到action屬性所指的URL地址。
  2. GET與POST 提交的數(shù)據(jù)大小理論上沒有限制,但是由于GET是通過URL提交數(shù)據(jù),那么GET提交數(shù)據(jù)的大小就由URL決定了,理論上URL長度也沒有限制,URL長度取決于瀏覽器對其的限制。POST數(shù)據(jù)起限制作用的是服務(wù)器的處理能力。

參考資料:淺談HTTP中Get與Post的區(qū)別

其他
  • GET后退按鈕/刷新無害,POST數(shù)據(jù)會被重新提交(瀏覽器應(yīng)該告知用- 戶數(shù)據(jù)會被重新提交)。
  • GET書簽可收藏,POST為書簽不可收藏。
  • GET能被緩存,POST不能緩存 。
  • GET歷史參數(shù)保留在瀏覽器歷史中。POST參數(shù)不會保存在瀏覽器歷史中。
  • GET編碼類型application/x-www-form-url,POST編碼類型application/x-www-form-urlencoded 或 multipart/form-data。為二進(jìn)制數(shù)據(jù)使用多重編碼。
  • GET只允許 ASCII 字符。POST沒有限制。也允許二進(jìn)制數(shù)據(jù)

3. radio 如何 分組?

radio通過name值來分組,name相同的為一組。

4. placeholder 屬性有什么作用?

placeholder 是HTML5的新屬性
placeholder 屬性提供可描述輸入字段預(yù)期值的提示信息。
該提示會在輸入字段為空時顯示,并會在字段獲得焦點(diǎn)時消失。
注釋:placeholder 屬性適用于以下的 <input> 類型:text, password、 search, url, telephone,以及 email

5. type=hidden隱藏域有什么作用?

隱藏域具體寫法:

<input type="hidden" name="field_name" value="value">

hidden隱藏域無外乎下面六點(diǎn)作用:
  • 隱藏域在頁面中對于用戶是不可見的,在表單中插入隱藏域的目的在于收集或發(fā)送信息,以利于被處理表單的程序所使用。瀏覽者單擊發(fā)送按鈕發(fā)送表單的時候,隱藏域的信息也被一起發(fā)送到服務(wù)器。
  • 有些時候我們要給用戶一信息,讓他在提交表單時提交上來以確定用戶身份,如sessionkey,等等.當(dāng)然這些東西也能用cookie實(shí)現(xiàn),但使用隱藏域就簡單的多了.而且不會有瀏覽器不支持,用戶禁用cookie的煩惱。
  • 有些時候一個form里有多個提交按鈕,怎樣使程序能夠分清楚到底用戶是按那一個按鈕提交上來的呢?我們就可以寫一個隱藏域,然后在每一個按鈕處加上onclick="document.form.command.value="xx""然后我們接到數(shù)據(jù)后先檢查command的值就會知道用戶是按的那個按鈕提交上來的。
  • 有時候一個網(wǎng)頁中有多個form,我們知道多個form是不能同時提交的,但有時這些form確實(shí)相互作用,我們就可以在form中添加隱藏域來使它們聯(lián)系起來。
  • javascript不支持全局變量,但有時我們必須用全局變量,我們就可以把值先存在隱藏域里,它的值就不會丟失了。
  • 還有個例子,比如按一個按鈕彈出四個小窗口,當(dāng)點(diǎn)擊其中的一個小窗口時其他三個自動關(guān)閉.可是IE不支持小窗口相互調(diào)用,所以只有在父窗口寫個隱藏域,當(dāng)小窗口看到那個隱藏域的值是close時就自己關(guān)掉

6. HTML表單的用法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 表單是一個包含表單元素的區(qū)域。表單元素包括:文本域(textarea)、下拉列表、單選框(radio-button...
    饑人谷_DanaeJJ閱讀 201評論 0 0
  • 1.form表單有什么作用?有哪些常用的input 標(biāo)簽,分別有什么作用? 通俗的講 form標(biāo)簽是用來進(jìn)行表單提...
    yangchaojun閱讀 353評論 0 0
  • 1.form表單有什么作用?有哪些常用的input 標(biāo)簽,分別有什么作用? 通俗的講 form標(biāo)簽是用來進(jìn)行表單提...
    任少鵬閱讀 793評論 0 0
  • <input>標(biāo)簽 標(biāo)簽用于搜集用戶信息,根據(jù)不同的type屬性值,輸入字段擁有很多種形式。輸入字段可以是文本字段...
    _空空閱讀 4,083評論 0 3
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139