常見問題
form表單有什么作用锉试?有哪些常用的input 標(biāo)簽,分別有什么作用揍移?
HTML 表單用于搜集不同類型的用戶輸入次和,能將數(shù)據(jù)順利傳送到后臺(tái)。常用的input標(biāo)簽有:
標(biāo)簽名 | 作用 |
---|---|
text | 文本輸入 |
radio | 單選框 |
checkbox | 多選框 |
textarea | 多行文本輸入 |
password | 密碼 |
button | 按鈕 |
submit | 提交 |
file | 文件 |
reset | 復(fù)原 |
hidden | 隱藏域 |
post 和 get 方式的區(qū)別那伐?
原理區(qū)別:GET一般用于獲取/查詢 資源信息踏施,而POST一般用于更新資源信息。
表現(xiàn)形式區(qū)別:GET提交的數(shù)據(jù)會(huì)在地址欄中顯示出來罕邀,而POST提交读规,地址欄不會(huì)改變。因此對(duì)于GET提交時(shí)燃少,傳輸數(shù)據(jù)就會(huì)受到URL長度的限制束亏。同時(shí),POST的安全性要比GET的安全性高阵具。比如:通過GET提交數(shù)據(jù)碍遍,用戶名和密碼將明文出現(xiàn)在URL上定铜,因?yàn)?1)登錄頁面有可能被瀏覽器緩存, (2)其他人查看瀏覽器的歷史紀(jì)錄怕敬,那么別人就可以拿到你的賬號(hào)和密碼了揣炕,除此之外,使用GET提交數(shù)據(jù)還可能會(huì)造成Cross-site request forgery攻擊
在input里东跪,name 有什么作用畸陡?
name 屬性規(guī)定 input 元素的名稱。
name 屬性用于對(duì)提交到服務(wù)器后的表單數(shù)據(jù)進(jìn)行標(biāo)識(shí)虽填,或者在客戶端通過 JavaScript 引用表單數(shù)據(jù)丁恭。
只有設(shè)置了 name 屬性的表單元素才能在提交表單時(shí)傳遞它們的值。
radio 如何 分組?
通過相同name屬性進(jìn)行分組
placeholder 屬性有什么作用?
placeholder 屬性提供可描述輸入字段預(yù)期值的提示信息(hint)斋日。
該提示會(huì)在輸入字段為空時(shí)顯示牲览,并會(huì)在字段獲得焦點(diǎn)時(shí)消失。
placeholder 屬性適用于以下的 <input> 類型:text, search, url, telephone, email 以及 password恶守。
type=hidden隱藏域有什么作用? 舉例說明
收集發(fā)送一些信息供服務(wù)器處理第献。
舉例:獲取用戶當(dāng)前的瀏覽器版本/系統(tǒng)的版本等。
用法
<form> 元素
HTML 表單用于收集用戶輸入兔港。
<form> 元素定義 HTML 表單:
實(shí)例
<form> .form elements .</form>
HTML 表單包含表單元素庸毫。
表單元素指的是不同類型的 input 元素、復(fù)選框衫樊、單選按鈕岔绸、提交按鈕等等。
<input> 元素
<input> 元素是最重要的表單元素橡伞。
<input> 元素有很多形態(tài),根據(jù)不同的 type 屬性晋被。
text
定義常規(guī)文本輸入兑徘。
radio
定義單選按鈕輸入(選擇多個(gè)選擇之一)
submit
定義提交按鈕(提交表單)
文本輸入
<input type="text"> 定義用于文本輸入的單行輸入字段:
實(shí)例
<form> First name:<br><input type="text" name="firstname"><br> Last name:<br><input type="text" name="lastname"></form>
單選按鈕輸入
<input type="radio"> 定義單選按鈕。
單選按鈕允許用戶在有限數(shù)量的選項(xiàng)中選擇其中之一:
實(shí)例
<form><input type="radio" name="sex" value="male" checked>Male<br><input type="radio" name="sex" value="female">Female</form>
提交按鈕
<input type="submit"> 定義用于向表單處理程序(form-handler)提交表單的按鈕羡洛。
表單處理程序通常是包含用來處理輸入數(shù)據(jù)的腳本的服務(wù)器頁面挂脑。
表單處理程序在表單的 action 屬性中指定:
實(shí)例
<form action="action_page.php">First name:<br><input type="text" name="firstname" value="Mickey"><br>Last name:<br><input type="text" name="lastname" value="Mouse"><br><br><input type="submit" value="Submit"></form>
Action 屬性
action 屬性定義在提交表單時(shí)執(zhí)行的動(dòng)作。
向服務(wù)器提交表單的通常做法是使用提交按鈕欲侮。
通常崭闲,表單會(huì)被提交到 web 服務(wù)器上的網(wǎng)頁。
在上面的例子中威蕉,指定了某個(gè)服務(wù)器腳本來處理被提交表單:
<form action="action_page.php">
如果省略 action 屬性刁俭,則 action 會(huì)被設(shè)置為當(dāng)前頁面。
Method 屬性
method 屬性規(guī)定在提交表單時(shí)所用的 HTTP 方法(GET 或 POST):
<form action="action_page.php" method="GET">
或:
<form action="action_page.php" method="POST">
何時(shí)使用 GET韧涨?
您能夠使用 GET(默認(rèn)方法):
如果表單提交是被動(dòng)的(比如搜索引擎查詢)牍戚,并且沒有敏感信息侮繁。
當(dāng)您使用 GET 時(shí),表單數(shù)據(jù)在頁面地址欄中是可見的:
action_page.php?firstname=Mickey&lastname=Mouse
注釋:GET 最適合少量數(shù)據(jù)的提交如孝。瀏覽器會(huì)設(shè)定容量限制宪哩。
何時(shí)使用 POST?
您應(yīng)該使用 POST:
如果表單正在更新數(shù)據(jù)第晰,或者包含敏感信息(例如密碼)锁孟。
POST 的安全性更加,因?yàn)樵陧撁娴刂窓谥斜惶峤坏臄?shù)據(jù)是不可見的茁瘦。
Name 屬性
如果要正確地被提交品抽,每個(gè)輸入字段必須設(shè)置一個(gè) name 屬性。
本例只會(huì)提交 "Last name" 輸入字段:
實(shí)例
<form action="action_page.php">First name:<br><input type="text" value="Mickey"><br>Last name:<br><input type="text" name="lastname" value="Mouse"><br><br><input type="submit" value="Submit"></form>
用 <fieldset> 組合表單數(shù)據(jù)
<fieldset> 元素組合表單中的相關(guān)數(shù)據(jù)
<legend> 元素為 <fieldset> 元素定義標(biāo)題腹躁。
實(shí)例
<form action="action_page.php"><fieldset><legend>Personal information:</legend>First name:<br><input type="text" name="firstname" value="Mickey"><br>Last name:<br><input type="text" name="lastname" value="Mouse"><br><br><input type="submit" value="Submit"></fieldset></form>
以上 HTML 代碼在瀏覽器中看起來是這樣的:
Personal information:First name: Last name:
HTML Form 屬性
HTML <form> 元素桑包,已設(shè)置所有可能的屬性,是這樣的:
實(shí)例
<form action="action_page.php" method="GET" target="_blank" accept-charset="UTF-8"ectype="application/x-www-form-urlencoded" autocomplete="off" novalidate>.form elements .</form>
Here is the list of <form> attributes:
accept-charset
規(guī)定在被提交表單中使用的字符集(默認(rèn):頁面字符集)纺非。
action
規(guī)定向何處提交表單的地址(URL)(提交頁面)哑了。
autocomplete
規(guī)定瀏覽器應(yīng)該自動(dòng)完成表單(默認(rèn):開啟)。
enctype
規(guī)定被提交數(shù)據(jù)的編碼(默認(rèn):url-encoded)烧颖。
method
規(guī)定在提交表單時(shí)所用的 HTTP 方法(默認(rèn):GET)弱左。
name
規(guī)定識(shí)別表單的名稱(對(duì)于 DOM 使用:document.forms.name)。
novalidate
規(guī)定瀏覽器不驗(yàn)證表單炕淮。
target
規(guī)定 action 屬性中地址的目標(biāo)(默認(rèn):_self)拆火。