整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          詳細介紹創建 HTML 表單中常用的幾個表單標簽

          lt;form> 標簽用于為用戶輸入創建 HTML 表單。

          表單能夠包含 input 元素,比如文本字段、復選框、單選框、提交按鈕等等。

          表單還可以包含 menus、textarea、fieldset、legend 和 label 元素。

          表單用于向服務器傳輸數據。

          下面小編為大家介紹幾個常用的表單標簽。


          <datalist>標簽

          這個標簽規定了 <input> 元素可能的選項列表。

          一般會被用來在為<input> 元素提供"自動完成"的特性。用戶能看到一個下拉列表,里邊的選項是預先定義好的,將作為用戶的輸入數據。

          我們來演示一個案例,大家就知道怎么用了:

          上面這個小代碼,我們看得出,input標簽的list屬性值和datalist標簽的id是一樣的,沒錯,它們就是這樣來相互關聯起來的。當它們結合起來之后,不僅可以像select標簽一樣可以通過下拉來選擇已有的選項,還可以根據用戶輸入的字符,對選項進行匹配篩選。

          效果圖如下:

          有了datalist標簽,我們實現這種效果起來十分簡單,不需要任何的JavaScript代碼也能輕松實現。



          <output>標簽:

          標簽定義不同類型的輸出。比如腳本的輸出、一些加減乘除的運算結果,我們都可以使用這個標簽。

          我們來舉個例子:輸入的數字乘以2后得到的結果,我們用output輸出顯示。

          我們用oninput屬性監聽著表單的變化,并把得到的結果賦值到output標簽的value。我們來看看效果圖:



          其中,output標簽是可以離開form表單標簽的,但是,如果你這樣做的話,必須給output標簽添加form屬性,其屬性值是與其相關聯form表單的id。

          我們來將output移到form表單的外面試試:

          <form id="demo" oninput="b.value = parseInt(a.value)*2">
           <input type="number" name="a"> 乘以2=
          </form>
          <output form="demo" name="b" for="a"></output>
          

          跟上面的代碼有幾處不同之處,form標簽多了一個id,值為“demo”,output標簽被移到了form標簽外面,不再是form標簽的子節點,變成了兄弟節點(當然你可以把它移到文檔的其他位置)。output標簽還多了一個form屬性,此時,它的值正好是form標簽的id值:“demo”。這種寫法,代碼同樣是奏效的。



          <keygen>標簽

          這個標簽相信大家很少用到,但是也是為了學習,我們來了解一下就好。

          這個標簽規定用于表單的密鑰對生成器字段。當提交表單時,私鑰存儲在本地,公鑰發送到服務器,這種機制是專為使用基于Web的證書管理系統。

          我在MDN(Mozilla Developer Network)的網站上看到了關于它的一些介紹:

          There iscurrently discussion among Web browser makers whether to keep this feature ornot. Until a decision is reached, it is better to continue to consider thisfeature as deprecated and going away.

          大意是:目前各大瀏覽器廠商還在討論是否要保留它,在討論結束之前,你最好還是別用它。

          而另一段話則是更加直接明了:

          This featurehas been removed from the Web standards. Though some browsers may still supportit, it is in the process of being dropped. Do not use it in old or newprojects. Pages or Web apps using it may break at any time.

          大意是:雖然有些瀏覽器還支持它,但是這個特性已經被移除出web標準了,以后別使用它了。

          .HTML中表單元素的基本概念

          HTML表單是HTML元素中較為復雜的部分,表單往往和腳本,動態頁面,數據處理等功能相結合,因此是制作動態網站很重要的內容.

          表單一般用來收集用戶的輸入信息

          2.表單工作原理

          訪問者在瀏覽有表單的網頁時,可填寫必需的信息,然后按某個按鈕提交,這些信息通過網絡傳送到服務器上.服務器上專門的程序對這些數據進行處理,如果有錯誤會返回錯誤信息,并要求糾正錯誤.當數據完整無誤后,服務器反饋一個輸入完成的信息

          3.表單的功能

          功能:表單用于向服務器傳輸數據,從而實現用戶與WEB服務器的交互表單能夠包含input系統標簽,比如文本字段,復選框,單選框,提交按鈕等表單還可以包含textarea,select,fieldset,label標簽.

          4.表單的常用類型及說明

          1.表單常用的類型有:

          2.表單屬性:

          3.文本輸入框(text):

          當用戶要在表單中輸入字母,數字內容時,就會用到文本域

          代碼如下:

          注意,表單本身并不可見.同時,在大多瀏覽器中,文本域的缺省寬度是20個字符.

          在密碼域中輸入的字符,瀏覽器將使用項目符號來代替這些字符.

          4.單選按鈕(radio):

          當用戶從若干給定的選擇中選取一個選項時,就會用到單選框.

          代碼如下:

          用戶只能從眾多選擇中選取一個選項.

          當用戶點擊一個單選按鈕時,該按鈕會變為選中狀態,其他所有按鈕會變為非選中狀態.

          5.復選框(checkboxes)

          當用戶需要從若干給定的選擇中選取一個或多個選項時,就會用到復選框

          代碼如下:

          用戶一次可以選擇多個選項.

          6.重置按鈕(reset)

          重置按鈕會清除當前頁面上的用戶輸入的所有數據,把當前頁面恢復到打開時的樣子.

          代碼如下:

          <form><p><input type="reset"></p></form>

          7.提交按鈕

          會在當前頁面生成一個提交按鈕,用戶點擊此按鈕,瀏覽器就會把當前頁面用戶輸入的數據傳送到服務端

          代碼如下:

          <form><p><input type="button" value="按鈕"/></p></form>

          8.提交文件

          當需要把客戶端的文件發送到服務端時,需要用到提交文件按鈕

          代碼如下:

          <form action="/index/" method="post"><p><input type="file"/></p></form>

          上傳文件注意兩點: 請求方式必須是post enctype="multipart/form-data"

          9.下拉菜單

          當需要用戶從很多選項中選擇一個或多個選項時,也可以使用下拉列表.

          代碼如下:

          這樣的下拉列表,用戶只能從其中選擇一個選項,當需要用戶選擇兩個或以下時,可以添加參數來進行控制.

          代碼如下:

          還可以在

          OPTION

          中添加

          selected="selected"

          選項來設置默認值.

          10.表單屬性

          1.action屬性的說明:

          使用action選項來指定服務端的腳本來處理被提交的表單

          <form action="/index/" method="post">

          如果省略action屬性,則action會被設置為當前頁面

          2.method屬性的說明:

          method屬性規定在提交表單時所用的http方法(POSTGET)

          <form action="/index/" method="post">

          <form action="/index/" method="get">

          3.get方法或post方法的使用方式說明:

          如果表單提交是被動的(比如搜索引擎查詢),并且沒有敏感信息.

          當使用get方法時,表單的數據在頁面地址欄中是可見的

          因此,get最適合少量數據的提交,瀏覽器會設定容量限制

          如果表單正在更新數據,或者包含敏感信息(比如密碼)時應該使用post,post的安全性更好.

          因為在頁面地址欄中被提交的數據是不可見的.

          切圖 qietu(.com)

          篇介紹了表單的使用,表單有很多控件,比如輸入框,密碼框、文本域,按鈕等。按類型可分如下:

          • 輸入類控件
          • 菜單類控件

          輸入類組件 —— input

          此類控件有很多種類型,使用<input type="類型">語法,常見類型如下:

          type 值

          含義

          text

          文字字段

          password

          密碼域,用戶看不到明文,以*代替

          radio

          單選按鈕

          checkbox

          多選按鈕

          button

          普通按鈕

          submit

          提交按鈕

          reset

          重置按鈕

          image

          圖像域,用圖像作為背景的提交按鈕

          hidden

          隱藏域,不可見的輸入框

          file

          文本域,用于上傳文件等非文本數據

          文本輸入框和密碼框

          除了顯示形式不一樣,其它屬性一樣,有以下屬性:

          • name —— 定義文字字段名稱,用于和其它控件區別,不能包含特殊字符,也不可使用html 標簽名稱
          • maxlength —— 定義文本框可輸入字符最大長度
          • size —— 定義文本框在頁面中顯示的長度
          • vaule —— 定義文本框中默認的值

          如下是文本輸入框和密碼框制作一個登錄表單

          html代碼:

          <!DOCTYPE html>
          <html>
          <body>
          <h1>用戶登錄</h1>
          <form action="/demo/html/action_page.php">
            <label for="fname">用戶名:</label><br>
            <input type="text" id="username" name="username" value=""><br>
            <label for="lname">密碼:</label><br>
            <input type="password" id="pwsd" name="pwsd" value=""><br><br>
            <input type="submit" value="提交">
          </form> 
          </body>
          </html>

          顯示效果:

          HTML5 輸入類型

          除了以上幾種類型,HTML5 還增加了多個新的輸入類型:

          • color
          • date
          • datetime
          • datetime-local
          • email
          • month
          • number
          • range
          • search
          • tel
          • time
          • url
          • week

          如下代碼:

          <!DOCTYPE html>
          <html>
          <body>
          <form action="/demo/demo_form.asp">
            數字類型(1 到 5 之間):
            <input type="number" name="quantity" min="1" max="5">
            IE9 及早期版本不支持 type="number"。<br>
            color 選擇顏色:
            <input type="color" name="color"><br>
             生日:
            <input type="date" name="bday"><br>
            年月:
            <input type="month" name="bdaymonth"><br>
            年周:
            <input type="week" name="week_year"><br>
            時間:
            <input type="time" name="usr_time"><br>
            一定范圍
             <input type="range" name="points" min="0" max="10"><br>
             E-mail:
            <input type="email" name="email">
            能夠在被提交時自動對電子郵件地址進行驗證<br>
            搜索:
            <input type="search" name="googlesearch"><br>
            電話:
            <input type="tel" name="usrtel">
            目前只有 Safari 8 支持 tel 類型。<br>
            url:
            <input type="url" name="url">
            提交時能夠自動驗證 url 字段<br>
            <input type="submit">
          </form>
          </body>
          </html>

          效果如下:

          單選和多選按鈕

          使用 type = “radio” 和 type =“checkbox” 定義是單選還是多選,除了name和value屬性外,單選和多選都有一個 checked屬性定義默認選擇的項,checked = “true”指選中那個選項,表單會將 checked = “true” 的選型值傳遞給后臺。

          如下實例:

          <!DOCTYPE html>
          <html>
          <body>
          <h4>單選和多選</h4>
          <form action="/demo/demo_form.asp">
          水果:
          <input type="radio" name="shuiguo" value="banner" checked> 香蕉
          <input type="radio" name="shuiguo" value="apple"> 蘋果
          <br><br>
          省份:
          <input type="checkbox" name="shengfen" value="shannxi" checked> 陜西
          <input type="checkbox" name="shengfen" value="sanxi"> 山西
          <input type="checkbox" name="shengfen" value="gdong"> 廣東
          <br><br>
          <input type="submit">
          </form> 
          </body>
          </html>

          顯示效果:

          單選和多選傳遞給后臺的數據是不一樣的,如下會看到地址欄中的數據,多選會發送多個值,后臺將會獲取一個數組形式的數據。

          /demo/demo_form.asp?shuiguo=banner&shengfen=shannxi&shengfen=sanxi

          普通按鈕、提交按鈕、重置按鈕

          普通按鈕:type = “button”,一般配合腳本使用,語法如下:

          <input type="button" name="名稱" value="按鈕值" onclick="腳本程序" />

          value 值就是按鈕在頁面顯示的文字,onclick屬性定義了腳本事件,這里指單擊按鈕時所進行的處理。

          如下示例:

          <!DOCTYPE html>
          <html>
          <body>
          <form>
           <input type="button" value="普通按鈕">
          <input type="button" value="打開窗口" onclick="window.open()">
          <input type="button" value="您好" onclick="alert('您好')">
            </form>
          </body>
          </html>
          

          單擊您好按鈕

          提交按鈕:type = “submit”,用于提交表單內容,是一種特殊按鈕。

          如剛才的登錄表單,提交后會返回結果:

          重置按鈕:type="reset",用于清除表單數據,也是一種特殊按鈕。

          輸入數據

          點擊重置按鈕后,表單數據清空

          重置清空數據

          HTML5 按鈕

          除了使用input定義按鈕,還可以使用 html5 新增的<button> 標簽定義按鈕,button 使用語法如下:

          <form action="/demo/html/action_page.php">
          <button type="button">普通按鈕</button>
          <button type="submit">提交按鈕</button>
          </form> 

          其它輸入類控件

          隱藏域 —— hidden
          文件域 —— file

          如下示例:

          <form action="/demo/html/action_page.php">
            <label for="fname">隱藏域:</label>
            <input type="hidden" id="hidden" name="hidden" value=""><br>
            <label for="lname">文件域:</label>
            <input type="file" id="file" name="file" value=""><br>
            <input type="submit" value="提交">
          </form> 

          顯示效果

          可以看到,隱藏域在頁面中不顯示,單擊文件域選擇文件按鈕可以選擇文件,比如word文件,電子表格文件等,會以非文本方式傳送到后臺的,常用來實現文件上傳功能。

          文本域 —— textarea

          除了input 類型的控件,還有文本域 textarea ,一種特殊的文本框,它與input 文本輸入框的區別就是可以輸入多行文字,input 文本輸入框是單行的無法輸入多行文字。

          如下示例:

          <p>textarea 元素定義多行輸入字段。</p>
          <form action="/demo/html/action_page.php">
            <textarea name="message" rows="10" cols="30">The cat was playing in the garden.</textarea>
            <br><br>
            <input type="submit">
          </form>

          效果如下:

          rows 屬性定義文本域的高度是幾行,cols 定義文本域寬度占幾列,比如上面定義了高10行寬30列的文本域。

          下拉菜單和多選列表

          下拉菜單作用和單選按鈕類似,只不過它更加節省空間,當要選擇的選型很多時,就不適合使用radio空間,所以當選項很多的時候,使用下拉菜單,語法如下:

          <select name="名稱">
          <option value="選項值1" selected>選項1</option>
          <option value="選項值2">選項3</option>
          更多option......
          </select>

          多選列表和多選按鈕類似,一樣為了節省空間,當數據選項比較多時,使用多選列表,語法如下:

          <select name="名稱" size="可看見的列表項數" multiple>
          <option value="選項值1" selected>選項1</option>
          <option value="選項值2">選項3</option>
          更多option......
          </select>

          多選比下拉菜單不同之處是多了一個multiple屬性,定義多選的,且表現形式也不一樣,不是下拉而是一個列表。

          如下代碼:

          <!DOCTYPE html>
          <html>
          <body>
          <form action="/demo/demo_form.asp">
          下拉菜單:<br>
          <select name="cars">
          <option value="volvo">Volvo</option>
          <option value="saab">Saab</option>
          <option value="fiat">Fiat</option>
          <option value="audi">Audi</option>
          </select>
          <br>
          多選列表:<br>
          <select name="cars" size="3" multiple>
          <option value="volvo">Volvo</option>
          <option value="saab">Saab</option>
          <option value="fiat">Fiat</option>
          <option value="audi">Audi</option>
          </select>
          <br><br>
          <input type="submit">
          </form>
          </body>
          </html>

          顯示效果:

          這里需要注意的是,多選列表多選時需要按住ctrl鍵同時鼠標單擊選擇才能多選,效果如下:

          到這里,已介紹了大部分的表單控件,現在你可以使用他們制作自己的表單,表單通常在動態網站中使用,這為以后制作動態網站打下基礎。

          還有許多屬性沒有講到,比如html5新增的一些屬性和功能,可自行參考 w3cshool 等網站學習,感謝關注,學習愉快!

          上篇 : 前端入門——html 表單

          下篇: 前端入門 —— 網頁中使用窗口框架


          主站蜘蛛池模板: 精品国产一区二区三区色欲| 久久精品视频一区| 国产成人一区二区三区视频免费| 亚洲图片一区二区| 中文字幕一区二区在线播放| 精品欧洲AV无码一区二区男男| 久久99国产一区二区三区| 日本一区二区三区在线观看视频 | 中文字幕无线码一区| 日韩精品一区二区三区毛片| 中文字幕一区二区三区在线观看 | 亚洲一区二区观看播放| 无码精品人妻一区二区三区免费看 | 日韩动漫av在线播放一区| 色噜噜狠狠一区二区三区| 亚洲综合一区二区国产精品| 丰满人妻一区二区三区视频53| 国产肥熟女视频一区二区三区| 亚洲精品无码一区二区| 一区二区和激情视频| 国产精品视频一区麻豆| 亚洲av无码一区二区三区天堂 | 国产亚洲一区二区三区在线观看| 国产成人高清精品一区二区三区| 美女AV一区二区三区| 一区二区三区无码高清视频| 国产伦精品一区二区三区免费迷| 日韩在线视频一区| 无码AV动漫精品一区二区免费| 国产一区中文字幕| 97精品国产福利一区二区三区| 人妻免费一区二区三区最新| 精品aⅴ一区二区三区| 久久久无码精品国产一区| 一区二区三区国产精品| 欧美av色香蕉一区二区蜜桃小说| 激情无码亚洲一区二区三区| 国产第一区二区三区在线观看| 无码AⅤ精品一区二区三区| 大伊香蕉精品一区视频在线 | 日韩高清一区二区三区不卡|