【HTML 教程】表單標簽

1、
1.1、簡介
<form>
form>
<form action="https://example.com/api" method="post">
<label for="POST-name">用戶名:label>
<input id="POST-name" type="text" name="user">
<input type="submit" value="提交">
form>
accept-charset:服務器接受的字符編碼列表,使用空格分隔,默認與網(wǎng)頁編碼相同。
action:服務器接收數(shù)據(jù)的 URL。
autocomplete:如果用戶沒有填寫某個控件,瀏覽器是否可以自動填寫該值。它的可能取值分別為off(不自動填寫)和on(自動填寫)。
method:提交數(shù)據(jù)的 HTTP 方法,可能的值有post(表單數(shù)據(jù)作為 HTTP 數(shù)據(jù)體發(fā)送),get(表單數(shù)據(jù)作為 URL 的查詢字符串發(fā)送),dialog(表單位于
enctype:當method屬性等于post時,該屬性指定提交給服務器的 MIME 類型??赡艿闹禐閍pplication/x-www-form-urlencoded(默認值),multipart/form-data(文件上傳的情況),text/plain。
name:表單的名稱,應該在網(wǎng)頁中是唯一的。注意,如果一個控件沒有設置name屬性,那么這個控件的值就不會作為鍵值對,向服務器發(fā)送。
novalidate:布爾屬性,表單提交時是否取消驗證。
target:在哪個窗口展示服務器返回的數(shù)據(jù),可能的值有_self(當前窗口),_blank(新建窗口),_parent(父窗口),_top(頂層窗口),
1.2、enctype 屬性
Content-Disposition: form-data; name="mycontrol"
<form action="https://example.com/api"
enctype="multipart/form-data"
method="post">
用戶名:<input type="text" name="submit-name"><br>
文件:<input type="file" name="files"><br>
<input type="submit" value="上傳"> <input type="reset" value="清除">
form>
Content-Type: multipart/form-data; boundary=--AaB03x
--AaB03x
Content-Disposition: form-data; name="submit-name"
Larry
--AaB03x
Content-Disposition: form-data; name="files"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--
2、
<form>
<fieldset>
<p>年齡:<input type="text" name="age">p>
<p>性別:<input type="text" name="gender">p>
fieldset>
form>
disabled:布爾屬性,一旦設置會使得
form:指定控件組所屬的
name:該控件組的名稱。
<fieldset>
<legend>學生情況登記legend>
<p>年齡:<input type="text" name="age">p>
<p>性別:<input type="text" name="gender">p>
fieldset>
3、
<label for="user">用戶名:label>
<input type="text" name="user" id="user">
<label>用戶名:
<input type="text" name="user">
label>
for:關聯(lián)控件的id屬性。
form:關聯(lián)表單的id屬性。設置了該屬性后,
可以放置在頁面的任何位置,否則只能放在
<label for="username">用戶名:label>
<input type="text" id="username" name="username">
<label for="username"><abbr title="required">*abbr>label>
4、
4.1、簡介
<input>
<input type="text">
autofocus:布爾屬性,是否在頁面加載時自動獲得焦點。
disabled:布爾屬性,是否禁用該控件。一旦設置,該控件將變灰,用戶可以看到,但是無法操作。
form:關聯(lián)表單的id屬性。設置了該屬性后,控件可以放置在頁面的任何位置,否則只能放在
list:關聯(lián)的
name:控件的名稱,主要用于向服務器提交數(shù)據(jù)時,控件鍵值對的鍵名。注意,只有設置了name屬性的控件,才會向服務器提交,不設置就不會提交。
readonly:布爾屬性,是否為只讀。
required:布爾屬性,是否為必填。
type:控件類型,詳見下文。
value:控件的值。
4.2、類型
<input type="text" id="name" name="name" required
minlength="4" maxlength="8" size="10">
maxlength:可以輸入的最大字符數(shù),值為一個非負整數(shù)。
minlength:可以輸入的最小字符數(shù),值為一個非負整數(shù),且必須小于maxlength。
pattern:用戶輸入必須匹配的正則表達式,比如要求用戶輸入4個~8個英文字符,可以寫成pattern="[a-z]{4,8}"。如果用戶輸入不符合要求,瀏覽器會彈出提示,不會提交表單。
placeholder:輸入字段為空時,用于提示的示例值。只要用戶沒有任何字符,該提示就會出現(xiàn),否則會消失。
readonly:布爾屬性,表示該輸入框是只讀的,用戶只能看,不能輸入。
size:表示輸入框的顯示長度有多少個字符寬,它的值是一個正整數(shù),默認等于20。超過這個數(shù)字的字符,必須移動光標才能看到。
spellcheck:是否對用戶輸入啟用拼寫檢查,可能的值為true或false。
<form>
<input type="search" id="mySearch" name="q"
placeholder="輸入搜索詞……" required>
<input type="submit" value="搜索">
form>
<input type="button" value="點擊">
<input type="submit" value="提交">
formaction:提交表單數(shù)據(jù)的服務器 URL。
formenctype:表單數(shù)據(jù)的編碼類型。
formmethod:提交表單使用的 HTTP 方法(get或post)。
formnovalidate:一個布爾值,表示數(shù)據(jù)提交給服務器之前,是否要忽略表單驗證。
formtarget:收到服務器返回的數(shù)據(jù)后,在哪一個窗口顯示。
<input type="image" alt="登陸" src="login-button.png">
alt:圖像無法加載時顯示的替代字符串。
src:加載的圖像 URL。
height:圖像的顯示高度,單位為像素。
width:圖像的顯示寬度,單位為像素。
formaction:提交表單數(shù)據(jù)的服務器 URL。
formenctype:表單數(shù)據(jù)的編碼類型。
formmethod:提交表單使用的 HTTP 方法(get或post)。
formnovalidate:一個布爾值,表示數(shù)據(jù)提交給服務器之前,是否要忽略表單驗證。
formtarget:收到服務器返回的數(shù)據(jù)后,在哪一個窗口顯示。
<input type="reset" value="重置">
<input type="checkbox" id="agreement" name="agreement" checked>
<label for="agreement">是否同意label>
<fieldset>
<legend>你的興趣legend>
<div>
<input type="checkbox" id="coding" name="interest" value="coding">
<label for="coding">編碼label>
div>
<div>
<input type="checkbox" id="music" name="interest" value="music">
<label for="music">音樂label>
div>
fieldset>
<fieldset>
<legend>性別legend>
<div>
<input type="radio" id="male" name="gender" value="male">
<label for="male">男label>
div>
<div>
<input type="radio" id="female" name="gender" value="female">
<label for="female">女label>
div>
fieldset>
checked:布爾屬性,表示是否默認選中當前項。
value:用戶選中該項時,提交到服務器的值,默認為on'。
<input type="email" pattern=".+@foobar.com" size="30" required>
<input id="emailAddress" type="email" multiple required>
maxlength:可以輸入的最大字符數(shù)。
minlength:可以輸入的最少字符數(shù)。
multiple:布爾屬性,是否允許輸入多個以逗號分隔的電子郵箱。
pattern:輸入必須匹配的正則表達式。
placeholder:輸入為空時的顯示文本。
readonly:布爾屬性,該輸入框是否只讀。
size:一個非負整數(shù),表示輸入框的顯示長度為多少個字符。
spellcheck:是否對輸入內(nèi)容啟用拼寫檢查,可能的值為true或false。
<input type="email" size="40" list="defaultEmails">
<datalist id="defaultEmails">
<option value="jbond007@mi6.defence.gov.uk">
<option value="jbourne@unknown.net">
<option value="nfury@shield.org">
<option value="tony@starkindustries.com">
<option value="hulk@grrrrrrrr.arg">
datalist>
<input type="password" id="pass" name="password"
minlength="8" required>
maxlength:可以輸入的最大字符數(shù)。
minlength:可以輸入的最少字符數(shù)。
pattern:輸入必須匹配的正則表達式。
placeholder:輸入為空時的顯示文本。
readonly:布爾屬性,該輸入框是否只讀。
size:一個非負整數(shù),表示輸入框的顯示長度為多少個字符。
autocomplete:是否允許自動填充,可能的值有on(允許自動填充)、off(不允許自動填充)、current-password(填入當前網(wǎng)站保存的密碼)、new-password(自動生成一個隨機密碼)。
inputmode:允許用戶輸入的數(shù)據(jù)類型,可能的值有none(不使用系統(tǒng)輸入法)、text(標準文本輸入)、decimal(數(shù)字,包含小數(shù))、numeric(數(shù)字0-9)等。
<input type="file"
id="avatar" name="avatar"
accept="image/png, image/jpeg">
accept:允許選擇的文件類型,使用逗號分隔,可以使用 MIME 類型(比如image/jpeg),也可以使用后綴名(比如.doc),還可以使用audio/*(任何音頻文件)、video/*(任何視頻文件)、image/*(任何圖像文件)等表示法。
capture:用于捕獲圖像或視頻數(shù)據(jù)的源,可能的值有user(面向用戶的攝像頭或麥克風),environment(外接的攝像頭或麥克風)。
multiple:布爾屬性,是否允許用戶選擇多個文件。
<input id="prodId" name="prodId" type="hidden" value="xm234jq">
<input type="number" id="tentacles" name="tentacles"
min="10" max="100">
max:允許輸入的最大數(shù)值。
min:允許輸入的最小數(shù)值。
placeholder:用戶輸入為空時,顯示的示例值。
readonly:布爾屬性,表示該控件是否為只讀。
step:點擊向上和向下箭頭時,數(shù)值每次遞減的步長值。如果用戶輸入的值,不符合步長值的設定,瀏覽器會自動四舍五入到最近似的值。默認的步長值是1,如果初始的value屬性設為1.5,那么點擊向上箭頭得到2.5,點擊向下箭頭得到0.5。
<input type="range" id="start" name="volume"
min="0" max="11">
max:允許的最大值,默認為100。
min:允許的最小值,默認為0。
step:步長值,默認為1。
<input type="range" list="tickmarks">
<datalist id="tickmarks">
<option value="0" label="0%">
<option value="10">
<option value="20">
<option value="30">
<option value="40">
<option value="50" label="50%">
<option value="60">
<option value="70">
<option value="80">
<option value="90">
<option value="100" label="100%">
datalist>
<input type="url" name="url" id="url"
placeholder="https://example.com"
pattern="https://.*" size="30"
required>
maxlength:允許的最大字符數(shù)。
minlength:允許的最少字符串。
pattern:輸入內(nèi)容必須匹配的正則表達式。
placeholder:輸入為空時顯示的示例文本。
readonly:布爾屬性,表示該控件的內(nèi)容是否只讀。
size:一個非負整數(shù),表示該輸入框顯示寬度為多少個字符。
spellcheck:是否啟動拼寫檢查,可能的值為true(啟用)和false(不啟用)。
<input id="myURL" name="myURL" type="url"
list="defaultURLs">
<datalist id="defaultURLs">
<option value="https://developer.mozilla.org/" label="MDN Web Docs">
<option value="http://www.google.com/" label="Google">
<option value="http://www.microsoft.com/" label="Microsoft">
<option value="https://www.mozilla.org/" label="Mozilla">
<option value="http://w3.org/" label="W3C">
datalist>
<input type="tel" id="phone" name="phone"
pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}"
required>
<small>Format: 123-456-7890small>
maxlength:允許的最大字符數(shù)。
minlength:允許的最少字符串。
pattern:輸入內(nèi)容必須匹配的正則表達式。
placeholder:輸入為空時顯示的示例文本。
readonly:布爾屬性,表示該控件的內(nèi)容是否只讀。
size:一個非負整數(shù),表示該輸入框顯示寬度為多少個字符。
<input type="color" id="background" name="background"
value="#e66465">
<input type="date" id="start" name="start"
value="2018-07-22"
min="2018-01-01" max="2018-12-31">
max:可以允許的最晚日期,格式為yyyy-MM-dd。
min:可以允許的最早日期,格式為yyyy-MM-dd。
step:步長值,一個數(shù)字,以天為單位。
<input type="time" id="appt" name="appt"
min="9:00" max="18:00" required>
<small>營業(yè)時間上午9點到下午6點small>
max:允許的最晚時間。
min:允許的最早時間。
readonly:布爾屬性,表示用戶是否不可以編輯時間。
step:步長值,單位為秒。
<input id="appt" type="time" name="appt" step="2">
<input type="month" id="start" name="start"
min="2018-03" value="2018-05">
max:允許的最晚時間,格式為yyyy-MM。
min:允許的最早時間,格式為yyyy-MM。
readonly:布爾屬性,表示用戶是否不可以編輯時間。
step:步長值,單位為月。
<input type="week" name="week" id="camp-week"
min="2018-W18" max="2018-W26" required>
max:允許的最晚時間,格式為yyyy-Www。
min:允許的最早時間,格式為yyyy-Www。
readonly:布爾屬性,表示用戶是否不可以編輯時間。
step:步長值,單位為周。
<input type="datetime-local" id="meeting-time"
name="meeting-time" value="2018-06-12T19:30"
min="2018-06-07T00:00" max="2018-06-14T00:00">
max:允許的最晚時間,格式為yyyy-MM-ddThh:mm。
min:允許的最早時間,格式為yyyy-MM-ddThh:mm。
step:步長值,單位為秒,默認值是60。
5、
<button>點擊button>
<button name="search" type="submit">
<img src="search.gif">搜索
button>
autofocus:布爾屬性,表示網(wǎng)頁加載時,焦點就在這個按鈕。網(wǎng)頁里面只能有一個元素,具有這個屬性。
disabled:布爾屬性,表示按鈕不可用,會導致按鈕變灰,不可點擊。
name:按鈕的名稱(與value屬性配合使用),將以name=value的形式,隨表單一起提交到服務器。
value:按鈕的值(與name屬性配合使用),將以name=value的形式,隨表單一起提交到服務器。
type:按鈕的類型,可能的值有三種:submit(點擊后將數(shù)據(jù)提交給服務器),reset(將所有控件的值重置為初始值),button(沒有默認行為,由腳本指定按鈕的行為)。
form:指定按鈕關聯(lián)的
formaction:數(shù)據(jù)提交到服務器的目標 URL,會覆蓋
formenctype:數(shù)據(jù)提交到服務器的編碼方式,會覆蓋
formmethod:數(shù)據(jù)提交到服務器使用的 HTTP 方法,會覆蓋
formnovalidate:布爾屬性,數(shù)據(jù)提交到服務器時關閉本地驗證,會覆蓋
formtarget:數(shù)據(jù)提交到服務器后,展示服務器返回數(shù)據(jù)的窗口,會覆蓋
6、
<label for="pet-select">寵物:label>
<select id="pet-select" name="pet-select">
<option value="">--請選擇一項--option>
<option value="dog">狗option>
<option value="cat">貓option>
<option value="others">其他option>
select>
<select name="choice">
<option value="first">First Valueoption>
<option value="second" selected>Second Valueoption>
<option value="third">Third Valueoption>
select>
autofocus:布爾屬性,頁面加載時是否自動獲得焦點。
disabled:布爾屬性,是否禁用當前控件。
form:關聯(lián)表單的id屬性。
multiple:布爾屬性,是否可以選擇多個菜單項。默認情況下,只能選擇一項。一旦設置,多數(shù)瀏覽器會顯示一個滾動列表框。用戶可能需要按住Shift或其他功能鍵,選中多項。
name:控件名。
required:布爾屬性,是否為必填控件。
size:設置了multiple屬性時,頁面顯示時一次可見的行數(shù),其他行需要滾動查看。
7、
disabled:布爾屬性,是否禁用該項。
label:該項的說明。如果省略,則等于該項的文本內(nèi)容。
selected:布爾屬性,是否為默認值。顯然,一組菜單中,只能有一個菜單項設置該屬性。
value:該項提交到服務器的值。如果省略,則等于該項的文本內(nèi)容。
<label>寵物:
<select name="pets" multiple size="4">
<optgroup label="四條腿的寵物">
<option value="dog">狗option>
<option value="cat">貓option>
optgroup>
<optgroup label="鳥類">
<option value="parrot">鸚鵡option>
<option value="thrush">畫眉option>
optgroup>
select>
label>
disabled:布爾設置,是否禁用該組。一旦設置,該組所有的菜單項都不可選。
label:菜單項的標題。
8、
<label for="ice-cream-choice">冰淇淋:label>
<input type="text" list="ice-cream-flavors" id="ice-cream-choice" name="ice-cream-choice">
<datalist id="ice-cream-flavors">
<option value="巧克力">
<option value="椰子">
<option value="薄荷">
<option value="草莓">
<option value="香草">
datalist>
<datalist id="ide">
<option value="Brackets" label="by Adobe">
<option value="Coda" label="by Panic">
datalist>
9、
<textarea id="story" name="story"
rows="5" cols="33">
這是一個很長的故事。
textarea>
autofocus:布爾屬性,是否自動獲得焦點。
cols:文本框的寬度,單位為字符,默認值為20。
disabled:布爾屬性,是否禁用該控件。
form:關聯(lián)表單的id屬性。
maxlength:允許輸入的最大字符數(shù)。如果未指定此值,用戶可以輸入無限數(shù)量的字符。
minlength:允許輸入的最小字符數(shù)。
name:控件的名稱。
placeholder:輸入為空時顯示的提示文本。
readonly:布爾屬性,控件是否為只讀。
required:布爾屬性,控件是否為必填。
rows:文本框的高度,單位為行。
spellcheck:是否打開瀏覽器的拼寫檢查??赡艿闹涤衪rue(打開),default(由父元素或網(wǎng)頁設置決定),false(關閉)。
wrap:輸入的文本是否自動換行??赡艿闹涤衕ard(瀏覽器自動插入換行符CR + LF,使得每行不超過控件的寬度),soft(輸入內(nèi)容超過寬度時自動換行,但不會加入新的換行符,并且瀏覽器保證所有換行符都是CR + LR,這是默認值),off(關閉自動換行,單行長度超過寬度時,會出現(xiàn)水平滾動條)。
10、
<input type="number" name="a" value="10"> +
<input type="number" name="b" value="10"> =
<output name="result">20output>
for:關聯(lián)控件的id屬性,表示為該控件的操作結果。
form:關聯(lián)表單的id屬性。
name:控件的名稱。
<progress id="file" max="100" value="70"> 70% progress>
max:進度條的最大值,應該是一個大于0的浮點數(shù)。默認值為1。
value:進度條的當前值。它必須是0和max屬性之間的一個有效浮點數(shù)。如果省略了max屬性,該值則必須在0和1之間。如果省略了value屬性,則進度條會出現(xiàn)滾動,表明正在進行中,無法知道完成的進度。
<p>烤箱的當前溫度是<meter min="200" max="500"
value="350"> 350 度meter>。p>
min:范圍的下限,必須小于max屬性。如果省略,則默認為0。
max:范圍的上限,必須大于min屬性。如果省略,則默認為1。
value:當前值,必須在min屬性和max屬性之間。如果省略,則默認為0。
low:表示“低端”的上限門檻值,必須大于min屬性,小于high屬性和max屬性。如果省略,則等于min屬性。
high:表示“高端”的下限門檻值,必須小于max屬性,大于low屬性和min屬性。如果省略,則等于max屬性。
optimum:指定最佳值,必須在min屬性和max屬性之間。它應該與low屬性和high屬性一起使用,表示最佳范圍。如果optimum小于low屬性,則表示“低端”是最佳范圍;如果大于high屬性,則表示“高端”是最佳范圍;如果在low和high之間,則表示“中間地帶”是最佳范圍。如果省略,則等于min和max的中間值。
form:關聯(lián)表單的id屬性。
<meter id="fuel" name="fuel"
min="0" max="100"
low="33" high="66" optimum="80"
value="50">
at 50/100
meter>

