Form表單基礎(chǔ)

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

  • 表單的作用是收集用戶的輸入信息,用戶提交表單時向服務(wù)器傳輸數(shù)據(jù)绊起,從而實(shí)現(xiàn)用戶與web服務(wù)器的交互;
  • input標(biāo)簽使用type屬性規(guī)定input元素的類型,常見有以下類型:
type 描述
text 默認(rèn)燎斩。定義單行輸入字段虱歪,用戶可在其中輸入文本
password 定義密碼字段。字段中的字符會被遮蔽
checkbox 定義復(fù)選框
radio 定義單選按鈕
file 定義輸入字段和 "瀏覽..." 按鈕栅表,供文件上傳
submit 定義提交按鈕笋鄙。提交表單向服務(wù)器發(fā)送數(shù)據(jù)。
reset 定義重置按鈕怪瓶。重置按鈕會將所有表單字段重置為初始值
button 義可點(diǎn)擊的按鈕(大多與 JavaScript 使用來啟動腳本)
hidden 定義隱藏輸入字段

其它類型的input標(biāo)簽可以參考w3school

2. post 和 get 方式的區(qū)別萧落?

  • 對數(shù)據(jù)長度的限制不同
    • GET 方法向 URL 添加數(shù)據(jù),URL 的最大長度是 2048 個字符;
    • POST 方法傳輸?shù)臄?shù)據(jù)理論上沒有長度限制找岖;
  • 對數(shù)據(jù)類型的限制不同
    • GET 方法的URL中只允許出現(xiàn)ASCII字符陨倡,對非ASCII字符會先編碼成ASCII字符再發(fā)送請求;
    • POST 方法的數(shù)據(jù)在body中许布,對數(shù)據(jù)類型沒有限制兴革,允許二進(jìn)制數(shù)據(jù)傳輸;
  • POST比GET更安全
    • GET 方法的查詢字符串直接暴露在URL中蜜唾,在瀏覽器地址欄和瀏覽器歷史中都可以看到杂曲,不利于敏感數(shù)據(jù)的安全傳輸;
    • POST 方法的請求數(shù)據(jù)都包含在body中袁余,不會直接暴露出來擎勘,相對于GET,安全性更好颖榜;
  • 語義不同
    • GET的語義是請求獲取指定的資源货抄;
    • POST的語義是根據(jù)請求對指定的資源做出處理,具體的處理方式視資源類型而不同朱转。

3. 在input里蟹地,name 有什么作用?

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

4. radio 如何分組?

具有相同 name 屬性的 radio 為同一組分别,例如:

<form>
<input type="radio" name="sex" value="male" checked>Male
<input type="radio" name="sex" value="female">Female
</form>

5. placeholder 屬性有什么作用?

提供描述輸入字段的提示信息,該提示會在輸入字段為空時顯示存淫,并會在字段獲得焦點(diǎn)時消失

note:剛剛試了一下耘斩,IE中會在字段獲得焦點(diǎn)時消失,但是在chrome里面輸入字符后才會消失

6. type=hidden隱藏域有什么作用? 舉例說明

  • 幫助表單收集和發(fā)送信息桅咆,便于后端處理數(shù)據(jù)括授。用戶點(diǎn)擊提交數(shù)據(jù)的時候,隱藏域的信息也被一起發(fā)送到了后端;

  • 后端接收前端傳來的數(shù)據(jù)岩饼,需要確認(rèn)前端的身份荚虚,那么就可以加一個隱藏域,后端通過校驗隱藏域信息來確認(rèn)前端身份;

  • 有些時候一個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)掉漓踢。

7. HTML 表單的基本用法

HTML表單用<form> 標(biāo)簽創(chuàng)建,用于向服務(wù)器傳輸用戶輸入的數(shù)據(jù),表單能夠包含 input 元素漏隐,比如文本字段喧半、復(fù)選框、單選框青责、提交按鈕等等挺据,表單還可以包含 menus、textarea脖隶、fieldset扁耐、legend 和 label 元素。

表單元素input的常用類型已經(jīng)在上文介紹過产阱,下面再介紹form標(biāo)簽不同屬性的作用

  • action: 該屬性規(guī)定當(dāng)提交表單時婉称,向何處發(fā)送表單數(shù)據(jù)
    可能的值:
    • 絕對 URL - 指向其他站點(diǎn)(比如 src="www.example.com/example.htm")
    • 相對 URL - 指向站點(diǎn)內(nèi)的文件(比如 src="example.htm")
  • method: 該屬性規(guī)定如何發(fā)送表單數(shù)據(jù),最常用的取值是”GET“和”POST“;
  • target: 該屬性規(guī)定在何處打開 action URL构蹬,取值有_blank(在新窗口中打開)王暗、_self(在相同的框架中打開,默認(rèn)值)庄敛、_parent(在父框架中打開)俗壹、_top(在整個窗口中打開)和framename(在指定的框架中打開);
  • name: 該屬性規(guī)定表單的名稱藻烤,并且提供了一種在腳本中引用表單的方法绷雏;
  • enctype: 該屬性規(guī)定在發(fā)送到服務(wù)器之前應(yīng)該如何對表單數(shù)據(jù)進(jìn)行編碼,默認(rèn)值為 "application/x-www-form-urlencoded"隐绵,在發(fā)送到服務(wù)器之前之众,所有字符都會進(jìn)行編碼(空格轉(zhuǎn)換為 "+" 加號,特殊符號轉(zhuǎn)換為 ASCII HEX 值)依许;“multipart/form-data”:不對字符編碼。在使用包含文件上傳控件的表單時缀蹄,必須使用該值峭跳。

下面附上表單代碼實(shí)例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>task5-form</title>
</head>
<body>
    <div class="userinfo">
        <form action="/userinfo" name="userinfo" method="POST">
            <div class="username">
                <label for="username">姓名:</label>
                <input type="text" id="username" name="username" placeholder="用戶名">
            </div>
            <div class="password">
                <label for="password">密碼:</label>
                <input type="password" id="password" name="password" value="123456">
            </div>
            <div class="sex">
                <label>性別:</label>
                <input type="radio" name="sex" value="0" checked>男
                <input type="radio" name="sex" value="1">女
            </div>
            <div class="orientation">
                <label>取向:</label>
                <input type="radio" name="orientation" value="0">男
                <input type="radio" name="orientation" value="1" checked>女
            </div>
            <div class="hobby">
                <label>愛好:</label>
                <input type="checkbox" name="hobby" value="0">dota
                <input type="checkbox" name="hobby" value="1" checked>旅游
                <input type="checkbox" name="hobby" value="2" checked>寵物
            </div>
            <div class="comment">
                <label for="comment">評論:</label>
                <textarea name="comment" id="comment" cols="30" rows="10" placeholder="ddd"></textarea>
            </div>
            <div class="mycar">
                <label for="mycar">我的car:</label>
                <select name="mycar" id="mycar">
                    <option value="0">薩博</option>
                    <option value="1">法拉利</option>
                     <option value="2">保時捷</option>
                </select>
                <input type="submit" value="提交">
            </div>
        </form>
    </div>
</body>
</html>

效果圖如下:


效果圖.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末膘婶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蛀醉,更是在濱河造成了極大的恐慌悬襟,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拯刁,死亡現(xiàn)場離奇詭異脊岳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)垛玻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門割捅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人帚桩,你說我怎么就攤上這事亿驾。” “怎么了账嚎?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵莫瞬,是天一觀的道長。 經(jīng)常有香客問我郭蕉,道長疼邀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任召锈,我火速辦了婚禮旁振,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烟勋。我一直安慰自己规求,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布卵惦。 她就那樣靜靜地躺著阻肿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沮尿。 梳的紋絲不亂的頭發(fā)上丛塌,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機(jī)與錄音畜疾,去河邊找鬼赴邻。 笑死,一個胖子當(dāng)著我的面吹牛啡捶,可吹牛的內(nèi)容都是我干的姥敛。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼瞎暑,長吁一口氣:“原來是場噩夢啊……” “哼彤敛!你這毒婦竟也來了与帆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤墨榄,失蹤者是張志新(化名)和其女友劉穎玄糟,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袄秩,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阵翎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了之剧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郭卫。...
    茶點(diǎn)故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖猪狈,靈堂內(nèi)的尸體忽然破棺而出箱沦,到底是詐尸還是另有隱情,我是刑警寧澤雇庙,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布谓形,位于F島的核電站,受9級特大地震影響疆前,放射性物質(zhì)發(fā)生泄漏寒跳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一竹椒、第九天 我趴在偏房一處隱蔽的房頂上張望童太。 院中可真熱鬧,春花似錦胸完、人聲如沸书释。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爆惧。三九已至,卻和暖如春锨能,著一層夾襖步出監(jiān)牢的瞬間扯再,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工址遇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留熄阻,地道東北人。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓倔约,卻偏偏與公主長得像秃殉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評論 2 361

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

  • 1.form表單有什么作用复濒?有哪些常用的input 標(biāo)簽脖卖,分別有什么作用乒省? 表單的作用是搜集用戶的輸入巧颈,用戶提交表...
    CYC_dc68閱讀 399評論 0 0
  • 1.form表單有什么作用?有哪些常用的input 標(biāo)簽袖扛,分別有什么作用砸泛? 表單的作用表單用于向服務(wù)器傳輸數(shù)據(jù)。表...
    饑人谷_秦勤閱讀 378評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理蛆封,服務(wù)發(fā)現(xiàn)唇礁,斷路器,智...
    卡卡羅2017閱讀 134,716評論 18 139
  • <input>標(biāo)簽 標(biāo)簽用于搜集用戶信息惨篱,根據(jù)不同的type屬性值盏筐,輸入字段擁有很多種形式。輸入字段可以是文本字段...
    _空空閱讀 4,030評論 0 3
  • form表單有什么作用砸讳?有哪些常用的input 標(biāo)簽琢融,分別有什么作用? 標(biāo)簽用于為用戶創(chuàng)建HTML表單簿寂,并向服務(wù)器...
    zx9426閱讀 599評論 0 1