3.1HTML 表單

閱讀 ?·? 發(fā)布日期 2019-07-11 11:50 ?·? admin

HTML 表單用于搜集不同類(lèi)型的用戶輸入。

<form> 元素

HTML 表單用于收集用戶輸入。

<form> 元素定義 HTML 表單:

實(shí)例

<form>
 .
form elements
 .
</form>

HTML 表單包含表單元素。

表單元素指的是不同類(lèi)型的 input 元素、復(fù)選框、單選按鈕、提交按鈕等等。

<input> 元素

<input> 元素是最重要的表單元素。

<input> 元素有很多形態(tài),根據(jù)不同的 type 屬性。

這是本章中使用的類(lèi)型:

類(lèi)型 描述
text 定義常規(guī)文本輸入。
radio 定義單選按鈕輸入(選擇多個(gè)選擇之一)
submit 定義提交按鈕(提交表單)

注釋?zhuān)耗院髮⒃诒窘坛虒W(xué)到更多有關(guān)輸入類(lèi)型的知識(shí)。

文本輸入

<input type="text"> 定義用于文本輸入的單行輸入字段:

實(shí)例

<form>
 First name:<br>
<input type="text" name="firstname">
<br>
 Last name:<br>
<input type="text" name="lastname">
</form> 

在瀏覽器中看起來(lái)是這樣的:

First name:
 

Last name:
 

注釋?zhuān)罕韱伪旧聿⒉豢梢?jiàn)。還要注意文本字段的默認(rèn)寬度是 20 個(gè)字符。

單選按鈕輸入

<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> 

單選按鈕在瀏覽器看起來(lái)是這樣的:

Male 

Female

提交按鈕

<input type="submit"> 定義用于向表單處理程序(form-handler)提交表單的按鈕。

表單處理程序通常是包含用來(lái)處理輸入數(shù)據(jù)的腳本的服務(wù)器頁(yè)面。

表單處理程序在表單的 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> 

在瀏覽器中看起來(lái)是這樣的:

First name:
 

Last name:
 

 

Action 屬性

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 屬性

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)的(比如搜索引擎查詢),并且沒(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è)定容量限制。

何時(shí)使用 POST?

您應(yīng)該使用 POST:

如果表單正在更新數(shù)據(jù),或者包含敏感信息(例如密碼)。

POST 的安全性更加,因?yàn)樵陧?yè)面地址欄中被提交的數(shù)據(jù)是不可見(jiàn)的。

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 代碼在瀏覽器中看起來(lái)是這樣的:

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> 

下面是 <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)。

注釋?zhuān)耗鷮⒃谙旅娴恼鹿?jié)學(xué)到更多關(guān)于屬性的知識(shí)。