淺談HTML表單(一):表單提交原理

一绞蹦、html表單

1、什么是表單

能夠去輸入用戶信息的一個(gè)單子榜旦。和我們平時(shí)填寫的紙質(zhì)表單一樣幽七,在HTML頁(yè)面上,也有表單是用于搜集不同類型的用戶信息輸入

2溅呢、作用

用于收集已收集的信息澡屡,提交你網(wǎng)站的后臺(tái)(或者服務(wù)器)。
HTML表單是一個(gè)包含表單元素的區(qū)域咐旧,表單元素是允許用戶在表單中(表單元素包含如:文本域驶鹉、下拉列表、單選框铣墨、復(fù)選框等)輸入信息的元素


二室埋、寫表單

1、表單提交原理

一般表單有登錄名、密碼姚淆,<form></form>孕蝉、<input>,表單所有信息用<form></form>包裹肉盹。用<form>包裹所有<input>輸入框昔驱,當(dāng)點(diǎn)擊提交后,將會(huì)把<form>所包裹得所有<input>輸入框的信息提交給后臺(tái)的一個(gè)地址上上忍。

2骤肛、寫表單

(1)表單內(nèi)的主要標(biāo)簽屬性:
A、

<form></form>

B窍蓝、

<form action="/a123" method="get"> 

action : 把數(shù)據(jù)提交到后臺(tái)的地址腋颠,如action="/a123",即提交到當(dāng)前域名下的/a123
method:提交數(shù)據(jù)的方式

(2)demo:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
  <div class="login">     
            <form action="/a123" method="get">   
                      <div class="sex">
                      <input type="text" name="sex1">
                       </div>
                   <div class="username">
                <input type="text" name="username1">
               </div>   
               <div class="password">
                <input type="password" name="password1">
            </div>
            <div class="submit">
                <button>提交</button>
            </div>
        </form>

  </div>
</body>
</html>

(3)html文件用瀏覽器打開(kāi)頁(yè)面
當(dāng)寫出登錄名吓笙、密碼淑玫、提交代碼后(之后加上性別),


image

以get形式點(diǎn)擊提交面睛,頁(yè)面url顯示input輸入的相應(yīng)的內(nèi)容:

注:點(diǎn)擊提交代表向服務(wù)器發(fā)送了一個(gè)請(qǐng)求絮蒿,這個(gè)文件是通過(guò)get方式進(jìn)行表單收集


image

假如,將以下代碼放置在<form></form>標(biāo)簽之外叁鉴,

<div>  
   <div class="sex">
   <input type="text" name="sex1">
   </div>
   <form>
.....
   </form>
 </div> 

以get形式提交的頁(yè)面url也不會(huì)顯示相應(yīng)的內(nèi)容:


image

3土涝、終端上操作

即本地終端開(kāi)啟服務(wù)器,以服務(wù)端的方式打開(kāi)頁(yè)面
(1)命令行開(kāi)啟靜態(tài)服務(wù)器幌墓,并打開(kāi)頁(yè)面:
因?yàn)橹拔乙呀?jīng)安裝nodejs但壮,用npm安裝了http-server這個(gè)服務(wù)器,所以可以執(zhí)行以下代碼直接打開(kāi)這個(gè)靜態(tài)服務(wù)器:

$ http-server

代碼執(zhí)行之后常侣,輸入相應(yīng)的url出現(xiàn)的頁(yè)面蜡饵,兩步驟之后的示意圖:


image

注:以下情況給沒(méi)有安裝nodejs 的人看的(安裝了就可以不看)

假如有人之前沒(méi)安裝nodejs,就不能用npm命令去開(kāi)啟一個(gè)靜態(tài)服務(wù)器胳施,所以可以先看看我這篇:
?淺談命令行(二):安裝靜態(tài)服務(wù)器(涉及nodejs和npm的使用)

看完之后可以下載nodejs溯祸,在終端執(zhí)行以下代碼:

$ sudo npm install -g http-server
$ http-server

這樣之后就開(kāi)啟了一個(gè)靜態(tài)服務(wù)器,就可以用里面的url打開(kāi)相應(yīng)的html文件

(2)輸入相應(yīng)信息之后舞肆,出現(xiàn):


image

(3)頁(yè)面右鍵——檢查您没,重新輸入表單信息,點(diǎn)擊提交
出現(xiàn)頁(yè)面相對(duì)應(yīng)的html文件——form.html的請(qǐng)求胆绊,先貼上我操作后出現(xiàn)的頁(yè)面:


image
  • 請(qǐng)求的地址:
Request URL: http://127.0.0.1:8080/a123?username1=wxq393&password1=12345
  • 請(qǐng)求的類型:
Request Method: GET
  • 請(qǐng)求的參數(shù):
username1: wxq393
password1: 12345

(4)兩種請(qǐng)求類型:get和post
A、get請(qǐng)求
即當(dāng)form.html中method="get"時(shí)欧募,頁(yè)面上點(diǎn)擊“提交”時(shí)压状,就會(huì)將form.html展現(xiàn)的信息進(jìn)行組裝,以view的形式去組合成這個(gè)url地址:```http://127.0.0.1:8080/a123?username1=wxq393&password1=12345,向這個(gè)地址發(fā)送請(qǐng)求种冬。

get請(qǐng)求镣丑,本質(zhì)上就是url的拼接,把你的參數(shù)拼接在一起組成一個(gè)新的url:

image

注:username所得的參數(shù)是屬于input標(biāo)簽中的name屬性

B娱两、post請(qǐng)求
關(guān)于post類型發(fā)送請(qǐng)求:由于我的服務(wù)器http-server莺匠,是個(gè)靜態(tài)文件服務(wù)器,不支持post請(qǐng)求十兢。
可以看老司機(jī)的演示:


image

post的請(qǐng)求類型得到的url地址更干凈趣竣,更安全。


三旱物、post和get的區(qū)別

1遥缕、method提供兩種提交方式:

一種是get方式向后臺(tái)發(fā)送請(qǐng)求,提交數(shù)據(jù)宵呛;另一種是post方式向后臺(tái)發(fā)送請(qǐng)求单匣,提交數(shù)據(jù)

2、區(qū)別

(1)從安全性上宝穗,二者表象不同户秤,get把提交的數(shù)據(jù)url可以看到,會(huì)展現(xiàn)在瀏覽器歷史記錄中逮矛,安全性不好鸡号;但是post看不到,安全性好橱鹏。
(2)從提交數(shù)據(jù)量上膜蠢,get最多提交1k數(shù)據(jù),瀏覽器上的url地址框有字符長(zhǎng)度限制莉兰;post理論上無(wú)限制挑围,受服務(wù)器限制。
(3)從原理上糖荒,get 是拼接 url杉辙, post 是放入http 請(qǐng)求體中。

3捶朵、應(yīng)用場(chǎng)景(怎么合理兩種方式傳遞數(shù)據(jù)蜘矢?)

注:在實(shí)際應(yīng)用上,get 重在 "得到", post 重在"傳遞"
即假如向后臺(tái)查詢一篇論文综看,請(qǐng)求數(shù)據(jù)品腹,請(qǐng)求為“得到”,用get方式請(qǐng)求數(shù)據(jù)红碑;向后臺(tái)“傳遞”數(shù)據(jù)舞吭,寫了文章之后傳遞至后臺(tái)泡垃,通常是“傳遞完成”的狀態(tài)進(jìn)行提示,用post方式請(qǐng)求數(shù)據(jù)羡鸥。


四蔑穴、表單元素

吶,早說(shuō)了惧浴,w3c是個(gè)好東西??存和,輕戳:
HTML 表單元素

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市衷旅,隨后出現(xiàn)的幾起案子捐腿,更是在濱河造成了極大的恐慌,老刑警劉巖芜茵,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叙量,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡九串,警方通過(guò)查閱死者的電腦和手機(jī)绞佩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)猪钮,“玉大人品山,你說(shuō)我怎么就攤上這事】镜停” “怎么了肘交?”我有些...
    開(kāi)封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)扑馁。 經(jīng)常有香客問(wèn)我涯呻,道長(zhǎng),這世上最難降的妖魔是什么腻要? 我笑而不...
    開(kāi)封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任复罐,我火速辦了婚禮,結(jié)果婚禮上雄家,老公的妹妹穿的比我還像新娘效诅。我一直安慰自己,他們只是感情好趟济,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布乱投。 她就那樣靜靜地躺著,像睡著了一般顷编。 火紅的嫁衣襯著肌膚如雪戚炫。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天媳纬,我揣著相機(jī)與錄音嘹悼,去河邊找鬼叛甫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛杨伙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播萌腿,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼限匣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了毁菱?” 一聲冷哼從身側(cè)響起米死,我...
    開(kāi)封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贮庞,沒(méi)想到半個(gè)月后峦筒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡窗慎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年物喷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遮斥。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡峦失,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出术吗,到底是詐尸還是另有隱情尉辑,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布较屿,位于F島的核電站隧魄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏隘蝎。R本人自食惡果不足惜购啄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望末贾。 院中可真熱鬧闸溃,春花似錦、人聲如沸拱撵。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拴测。三九已至乓旗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間集索,已是汗流浹背屿愚。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工汇跨, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妆距。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓穷遂,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親娱据。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蚪黑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

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

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)中剩,斷路器忌穿,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong閱讀 22,409評(píng)論 1 92
  • 1结啼、通過(guò)CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明先生_X自主閱讀 15,982評(píng)論 3 119
  • 學(xué)習(xí)HTML的最佳網(wǎng)站沒(méi)有之一http://www.w3school.com.cn/html/ 關(guān)于HTML/HT...
    Amyyy_閱讀 2,073評(píng)論 0 16
  • 今天晚上我的節(jié)目可多了掠剑,首先,俐娜上午就建了一個(gè)群說(shuō)今天是她的生日派對(duì)郊愧,讓大家晚上9點(diǎn)去參加朴译。然后高爾夫教練約我晚...
    我就是女神閱讀 640評(píng)論 4 2