<form> 元素定義 HTML 表單
表單元素指的是不同類(lèi)型的 input 元素、復(fù)選框、單選按鈕、提交按鈕等等。
HTML 表單用于搜集不同類(lèi)型的用戶(hù)輸入。
<form>
.
form elements
.
</form>
<input> 元素有很多形態(tài),根據(jù)不同的 type 屬性。
這是本章中使用的類(lèi)型:(另外還有password,checkbox,button等)
類(lèi)型 | 描述 |
---|---|
text | 定義常規(guī)文本輸入。 |
radio | 定義單選按鈕輸入(選擇多個(gè)選擇之一) |
submit | 定義提交按鈕(提交表單) |
HTML5 增加了多個(gè)新的輸入類(lèi)型:
注釋?zhuān)豪鲜?web 瀏覽器不支持的輸入類(lèi)型,會(huì)被視為輸入類(lèi)型 text。
這里列出了一些常用的輸入限制(其中一些是 HTML5 中新增的):
屬性 | 描述 |
---|---|
disabled | 規(guī)定輸入字段應(yīng)該被禁用。 |
max | 規(guī)定輸入字段的最大值。 |
maxlength | 規(guī)定輸入字段的最大字符數(shù)。 |
min | 規(guī)定輸入字段的最小值。 |
pattern | 規(guī)定通過(guò)其檢查輸入值的正則表達(dá)式。 |
readonly | 規(guī)定輸入字段為只讀(無(wú)法修改)。 |
required | 規(guī)定輸入字段是必需的(必需填寫(xiě))。 |
size | 規(guī)定輸入字段的寬度(以字符計(jì))。 |
step | 規(guī)定輸入字段的合法數(shù)字間隔。 |
value | 規(guī)定輸入字段的默認(rèn)值。 |
<input type="radio"> 定義單選按鈕。
單選按鈕允許用戶(hù)在有限數(shù)量的選項(xiàng)中選擇其中之一:
<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)提交表單的按鈕。
表單處理程序通常是包含用來(lái)處理輸入數(shù)據(jù)的腳本的服務(wù)器頁(yè)面。
表單處理程序在表單的 action 屬性中指定:
<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 屬性定義在提交表單時(shí)執(zhí)行的動(dòng)作。
向服務(wù)器提交表單的通常做法是使用提交按鈕。
通常,表單會(huì)被提交到 web 服務(wù)器上的網(wǎng)頁(yè)。
在上面的例子中,指定了某個(gè)服務(wù)器腳本來(lái)處理被提交表單:
<form action="action_page.php">
如果省略 action 屬性,則 action 會(huì)被設(shè)置為當(dāng)前頁(yè)面。
method 屬性規(guī)定在提交表單時(shí)所用的 HTTP 方法(GET 或 POST)
<form action="action_page.php" method="GET"> 或: <form action="action_page.php" method="POST">
您能夠使用 GET(默認(rèn)方法):
如果表單提交是被動(dòng)的(比如搜索引擎查詢(xún)),并且沒(méi)有敏感信息。
當(dāng)您使用 GET 時(shí),表單數(shù)據(jù)在頁(yè)面地址欄中是可見(jiàn)的:
action_page.php?firstname=Mickey&lastname=Mouse
注釋?zhuān)篏ET 最適合少量數(shù)據(jù)的提交。瀏覽器會(huì)設(shè)定容量限制。
您應(yīng)該使用 POST:
如果表單正在更新數(shù)據(jù),或者包含敏感信息(例如密碼)。
POST 的安全性更加,因?yàn)樵陧?yè)面地址欄中被提交的數(shù)據(jù)是不可見(jiàn)的。
如果要正確地被提交,每個(gè)輸入字段必須設(shè)置一個(gè) name 屬性。
本例只會(huì)提交 "Last name" 輸入字段,因?yàn)?ldquo;First name“沒(méi)有設(shè)置 name 屬性:
<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> 元素組合表單中的相關(guān)數(shù)據(jù)
<legend> 元素為 <fieldset> 元素定義標(biāo)題。
<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 <form> 元素,已設(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>
屬性 | 描述 |
---|---|
accept-charset | 規(guī)定在被提交表單中使用的字符集(默認(rèn):頁(yè)面字符集)。 |
action | 規(guī)定向何處提交表單的地址(URL)(提交頁(yè)面)。 |
autocomplete | 規(guī)定瀏覽器應(yīng)該自動(dòng)完成表單(默認(rèn):開(kāi)啟)。 |
enctype | 規(guī)定被提交數(shù)據(jù)的編碼(默認(rèn):url-encoded)。 |
method | 規(guī)定在提交表單時(shí)所用的 HTTP 方法(默認(rèn):GET)。 |
name | 規(guī)定識(shí)別表單的名稱(chēng)(對(duì)于 DOM 使用:document.forms.name)。 |
novalidate | 規(guī)定瀏覽器不驗(yàn)證表單。 |
target | 規(guī)定 action 屬性中地址的目標(biāo)(默認(rèn):_self)。 |
【 微信掃一掃 】