HTML 關于form表單的簡單使用

本文介紹關于form表單的一些使用方法
網站是如何與用戶進行交互的?使用HTML表單。表單用于搜集不同類型的用戶輸入。

表單元素

<form> 元素定義HTML表單:

<form>
--form elements--
</form>

HTML表單包含表單元素

<form>元素中可以包含:<button>, <datalist>, <fieldset>, <input>, <keygen>, <label>, <legend>, <meter>, <menus>, <optgroup>, <output>, <progress>, <select>, <textarea>等表單元素。

<input>元素

<input>元素是最重要的表單元素。
<input>元素需要定義type,name,value或者checked,其中,每個輸入字段必須設置一個name屬性,checked屬性用于設置按鈕的預選項。

type屬性:規定input元素的類型,可設置值如下:
輸入類型:text
<input type="text"> 定義用于文本輸入的單行輸入字段。
<form>
  姓名:<input type="text" name="name"><br>
  班級:<input type="text" name="class">
</form>
注:文本字段的默認寬度是 20 個字符。
輸入類型:password
<input type="password"> 定義密碼字段。
<form>
用戶名:<input type="text" name="username"><br>
密碼:<input type="password" name"pw">
</form>
輸入類型:radio
<input type="radio"> 定義單選按鈕。

單選按鈕允許用戶在有限數量的選項中選擇其中之一:

<form>
<input type="radio" name="sex" value="male" checked>男<br>
<input type="radio" name="sex" value="female">女
</form>
輸入類型:submit
<input type="submit"> 定義用于向表單處理程序(form-handler)提交表單的按鈕。

表單處理程序通常是包含用來處理輸入數據的腳本的服務器頁面。
表單處理程序是在表單的 action 屬性中指定:

<form action=" ">
  姓名:<input type="text" name="name"><br>
  班級:<input type="text" name="class">
<input type="submit" value="提交">
</form>
輸入類型:checkbox
<input type="checkbox"> 定義復選框。

復選框允許用戶在有限數量的選項中選擇零個或多個選項。

<form>
<p>我喜歡的運動</p>
<input type="checkbox" name="hobby" value="basketball">籃球
<input type="checkbox" name="hobby" value="run" checked>跑步  //默認選中
</form>
輸入類型:button
<input type="button"> 定義按鈕。
<input type="button" onclick="alert(' 我是左冬!')" value="我是誰">
輸入類型:number
<input type="number"> 用于應該包含數字值的輸入字段。
<form>
  <input type="number" name="quantity" min="1" max="5"> //數量(1 到 5 之間)
  <input type="submit" value="提交">
</form>
注釋:IE9 及早期版本不支持 type="number"。
輸入類型:date
<input type="date"> 用于應該包含日期的輸入字段。

根據瀏覽器支持,日期選擇器會出現輸入字段中。

<form>
生日:<input type="date" name="birthday">
<input type="submit" value="提交">
</form>
注釋:IE11及更早期版本不支持 type="date".

添加輸入限制的代碼

<form>
  1980-01-01以前
  <input type="date" name="bday" max="1979-12-31"><br>
  2000-01-01以后
  <input type="date" name="bday" min="2000-01-02"><br>
</form>
輸入類型:color
<input type="color"> 用于包含顏色的輸入字段。

根據瀏覽器支持,顏色選擇器會出現輸入字段中。

<form action=" ">
  選擇你最喜歡的顏色:
  <input type="color" name="favcolor" value="#ff0000">
  <input type="提交">
</form>
輸入類型:range
<input type="range"> 用于包含一定范圍內的值的輸入字段。

根據瀏覽器支持,輸入字段能夠顯示為滑塊的控件。

<form action=" " method="get">
  音量:
  <input type="range" name="spearker" min="0" max="10">
  <input type="確定">
</form>
注釋:IE9 及早期版本不支持 type="range"。
輸入類型:email
<input type="email"> 用于應該包含電子郵件地址的輸入字段。

根據瀏覽器支持,能夠在被提交時自動對電子郵件地址進行驗證。
某些只能手機會識別 email 類型,并在鍵盤增加 ".com" 以匹配電子郵件輸入。

<form>
E-mail:
<input type="email" name="email">
<input type="submit">
</form>
注釋:IE9 及早期版本不支持 type="email"。
輸入類型:search
<input type="search"> 用于搜索字段。
<form action=" ">
  搜索谷歌:
  <input type="search" name="googlesearch">
  <input type="submit">
</form>
輸入類型:tel
<input type="tel"> 用于應該包含電話號碼的輸入字段。

目前只有 Safari 8支持 tel 類型。

<form action=" ">
  Telephone:
  <input type="tel" name="usrtel">
  <input type="submit">
</form>
注釋:Safari 8 及更新版本支持 type="tel"
輸入類型:url
<input type="url"> 用于應該包含URL地址的輸入字段。

根據瀏覽器支持,在提交時能夠自動驗證URL字段。
某些智能手機識別URL類型,并向鍵盤添加 ".com" 以匹配URL輸入。

<form action=" ">
  請添加您的首頁:
  <input type="url" name="homepage">
  <input type="submit">
</form>
注釋:IE9 及其更早版本不支持 type="url"。
其他<input>屬性:

name:定義input元素的名稱。
value:規定字段的初始值。
readonly:規定輸入字段只讀。
disabled:規定輸入字段是禁用的,被禁用的元素是不可用不可點擊不可提交。
size:規定輸入字段的尺寸,如果size="5",那么一行中可輸入無數個字符但一行中只有5個可見字符。
maxlength:規定輸入字段允許的最大長度,如果maxlength="5",那么一行中最多可輸入5個字符。
placeholder:規定幫助用戶填寫輸入字段的提示(樣本值或有關格式的簡短描述),該提示會在用戶輸入值之前顯示在輸入字段中。
list:引用包含輸入字段的與定義選項的datalist。
src:定義以提交按鈕形式顯示的圖像的URL。
step:規定input元素的合法數字間隔,如果step="3",則合法數字應該是-3、0、3、6等。只能是3的整倍數??膳cmax以及min屬性一同使用,來創建合法值的范圍。

<select> 元素(下拉列表)

<select>元素定義下拉列表,<option>元素定義下拉列表的選項,列表通常會把首個選項顯示為被選選項,但可以通過selected定義預定義選項。

<select name="fruit">
<option value="apple">Apple</option>
<option value="banana">Banana</option>
<option value="orange" selected>Orange</option> //默認選中
</select>

<option> 元素定義待選擇的選項。
列表通常會把首個選項顯示為被選選項,通過添加 selected 屬性來定義預定義選項。

<textarea> 元素定義多行輸入字段(文本域)

【rows="10" cols="30"】的意思是定義一個30個字符寬,10行高的文本區。

<textarea name="message" rows="10" cols="30">
The car was playing in the garden.
</textarea>

<button> 元素

<button>元素定義可點擊的按鈕,請示中為按鈕規定type屬性。如果在HTML表單中使用button元素,不同的瀏覽器會提交不同的值。IE將提交<button>與<button/>之間的文本,而其他瀏覽器將提交value屬性的內容。應用<input>元素創建按鈕。

<button type="button" onclick="alert("Hello World!")">點我</button>

HTML5 表單元素

HTML5 增加了如下表單元素:

  • <datalist>
  • <keygen>
  • <output>

HTML5 <datalist> 元素

<datalist>元素為<input>元素規定預定義選項列表。
<datalist><input>預定義選項列表,起到提示作用。用戶會在他們輸入數據時看到預定義選項的下拉列表。
<input>元素的list屬性必須引用<datalist>元素的id屬性。

<form action=" ">
<input list="browsers">
<datalist id="browsers">
   <option value="Internet Explorer">
   <option value="Firefox">
   <option value="Chrome">
   <option value="Opera">
   <option value="Safari">
</datalist> 
</form>

常用屬性

  • action 屬性制訂了某個服務器腳本來處理被提交的表單,如果省略action屬性,則action會被設置為當前頁面。
  • method 屬性規定了提交表單的http方法,默認GET,GET最適合少量數據且不需要保密的提交,使用GET時表單數據在頁面地址欄中是可見的。設置為POST,安全性更加,因為在頁面地址欄中被提交的數據不可見。
  • target 屬性值是一個名字或關鍵字,規定在哪里打開新頁面,默認_self,一般設置為_blank。
    • _self:在當前HTML4或HTML5文檔頁面重新加載返回值(默認值)。注:如果這個文檔在一個frame中,self是在當前frame(document)中重新加載的,而不是整個頁面(window)。
    • _blank:以新的HTML4或HTML5文檔窗口加載返回值。
    • _parent:在父級的frame中以HTML4或HTML5文檔形式加載返回值,如果沒有父級的frame,行為和_self一致。
    • _top:如果是HTML4文檔,清空當前文檔,加載返回內容;如果是HTML5文檔,在當前文檔的最高級內加載返回值,如果沒有父級,和_self行為一致。
    • iframename:返回值在指定frame中加載。

表單的作用

HTML<form>元素表示了文檔中的一個區域,這個區域包含有交互控制元件,用來像web服務器提交信息。

輸入限制
屬性 描述
disabled 規定輸入字段應該被禁用
max 規定輸入字段的最大值
maxlength 規定輸入字段的最大字符
min 規定輸入字段的最小值
pattern 規定通過其檢查輸入值的正則表達式
readonly 規定輸入字段為只讀(無法修改)
required 規定輸入字段是必須的(必須填寫)
size 規定輸入字段的寬度(以字符計)
step 規定輸入字段的合法數字間隔
value 規定輸入字段的默認值

注:屬性制訂了某個服務器腳本來處理被提交的表單,如果省略action屬性,則action會被設置為當前頁面。

參考資料:www.w3school.com.cn
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,565評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,115評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,577評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,514評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,234評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,621評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,641評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,822評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,380評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,128評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,319評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,879評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,548評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,970評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,229評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,048評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,285評論 2 376

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,810評論 18 139
  • 1.動手 form 表單table 表格 2. <form>表單元素 1) 簡述: 元素是塊級元素,其開始標簽和結...
    _Dot912閱讀 2,039評論 2 8
  • 本人做php的,最近發現JS真的是博大精深啊,比PHP難.在HTML中,表單是由form元素來表示的,但是在jav...
    linfree閱讀 2,194評論 3 17
  • 表單基礎知識 在HTML中,表單是由 元素來表示的,而在JS中,表單對應的則是HTMLFormElement類型。...
    oWSQo閱讀 917評論 0 1
  • form簡介 是HTML中的一個元素,它表示文檔中的一個區域,這個區域包含了交互控件,用于向web服務器提交信息。...
    七里之境閱讀 1,340評論 0 1