HTML(5)表單元素以及對各個表單元素的name、value屬性的理解

我在學習表單元素的時候感覺很混亂,特別是 name value這兩個屬性,沒有真正理解它們是干什么的,所以需要梳理一下。

HTML表單元素主要有 <form> <input> <select> <textarea> <button> <fieldset> <legend>
HTML5新增的表單元素有三個<datalist> <keygen> <output>

下面梳理一下這些表單元素的用法并指出各元素的name、value屬性含義
1. <form>元素

<form>元素定義HTML表單,收集用戶輸入。

屬性主要有 actionmethod

action定義在提交表單時執(zhí)行的動作,向服務器提交表單的通常做法是使用提交按鈕(type為submit<input>元素);如果省略該屬性,則action會被設(shè)置為當前頁面

method屬性規(guī)定在提交表單時所用的HTTP方法(HTTP方法有GET和POST兩種,這里只說一下兩者的主要區(qū)別:GET方法會使表單數(shù)據(jù)在頁面地址欄是可見的,而POST方法不可見,所以POST方法安全性更佳)。

<form action="action_page.php" method="get">
    form elements...
</form>
2. <input>元素

<input>元素很常用(為行內(nèi)元素,在“去哪兒”找實習面試的時候被問到過,當時都答錯......),根據(jù)不同的type屬性,可以變化為多種形態(tài)。

type的取值有text radio checkbox password submit button;HTML5又新增了type類型email url search number range color date pickers(date month week...),這些新類型提供了更好的輸入控制和驗證。

對于<input>元素,除了type屬性,常用的就是namevalue屬性:
name屬性----想要被正確地提交,每個輸入字段必須設(shè)置一個name屬性。
value屬性----為<input>元素設(shè)定值,對于不同的type,value屬性的含義也不同。

type="submit"、"button"、"reset"    ——定義按鈕上顯示的文本
type="text"、"password"、"hidden"   ——定義輸入字段的初始值
type="radio"、"checkbox"、"image"   ——定義與輸入相關(guān)聯(lián)的值
type="file"                        ——無法與value屬性一起使用
這里只具體介紹typeradio checkbox<input>元素。
  • radio定義單選鈕,允許用戶在有限數(shù)量的選項中選擇一個。
<form action="action_page.php" method="get">
     <fieldset>     <!--<fieldset>元素用于組合表單中相關(guān)數(shù)據(jù);<legend>元素用于為<fieldset>元素定義標題-->
          <legend>你喜歡誰?</legend><br>
          <input type="radio" name="star" value="楊洋">楊洋<br>
          <input type="radio" name="star" value="許嵩">許嵩<br>
          <input type="radio" name="star" value="吳彥祖">吳彥祖<br>
          <input type="submit">
      </fieldset>
</form>

效果圖如下



當選擇“許嵩”,點擊“提交”按鈕后,看到頁面地址欄里表單數(shù)據(jù)的內(nèi)容如下圖所示。

注意:單選鈕的各個name屬性值要完全一致,否則會不只選中一個選項

  • checkbox是復選框,允許用戶在有限數(shù)量的選項中選擇零個或多個選項。
<form action="" method="get">
     <fieldset>
          <legend>你喜歡誰?</legend><br>
          <input type="checkbox" name="star" value="楊洋">楊洋<br>
          <input type="checkbox" name="star" value="許嵩">許嵩<br>
          <input type="checkbox" name="star" value="吳彥祖">吳彥祖<br>
          <input type="submit">
     </fieldset>
</form>

效果圖如下


當我全選時(好像暴露了什么),namevalue值表現(xiàn)如下

3. <select>元素- -下拉列表

定義下拉列表,需要配合<option>使用,<option>定義待選擇的選項;通常會把首個選項顯示為被選選項;可通過selected屬性來定義預定義選項。

<form action="action_page.php" method="get">
      <select name="fruits">
            <option value="apple">apple</apple>
            <option value="pineapple">pineapple</apple>
            <option value="mango">mango</apple>
            <option value="grape">grape</apple>
       </select>
       <input type="submit">
</form>

效果圖如下:


打開下拉列表,選擇"mango"這一項,并點擊"提交"按鈕,因為method設(shè)置為了get,所以在地址欄中可看到數(shù)據(jù):分別取自<select>中的name屬性值和被選項的value屬性值。

value的屬性值是空的時候,會取<option>的內(nèi)容值作為表單數(shù)據(jù)提交。

4. <textarea>元素

定義多行輸入字段(文本域)

<form action="action_page.php" method="get">
       <textarea name="msg" rows="10" cols="30">Just Do It!</textarea>
       <input type="submit">
</form>

效果如下圖


地址欄數(shù)據(jù)如下圖所示。當文本域為空時,提交的表單數(shù)據(jù)也為空;改變文本域的值,再次提交,則表單數(shù)據(jù)也會相應的改變。


5. <button>元素

<button>元素的type屬性有三個可能的值button submitreset;這里只介紹屬性值button

typebutton時,定義可點擊的按鈕

<form action="action_page.php" method="get">
    <button type="button" onclick="alert('How are you  doing?')">click</button>
</form>

效果如下圖


點擊后出現(xiàn)


6. <datalist>元素

規(guī)定輸入域的選項列表;需要配合<option>元素一起使用,該元素定義列表項;如需把datalist綁定到輸入域,需要把輸入域的list屬性值設(shè)置為datalist的id值;<option>元素必須要設(shè)置value屬性。

<form action="action_page.php" method="get">
        <input type="url" name="website" list="url_list">
        <datalist id="url_list">
            <option value="http://www.baidu.com"></option>
            <option value="http://www.google.com"></option>
            <option value="http://www.itdecent.cn"></option>
            <option value="http://www.w3cschool.com"></option>
        </datalist>
        <input type="submit">
</form>

效果圖如下


當選擇第三項,并點擊"提交"按鈕后,地址欄數(shù)據(jù)如下

7. <keygen>元素

提供一種驗證用戶的可靠方法。

<keygen>元素是密鑰對生成器(key-pair generator)。當提交表單時會生成兩個鍵,一個是公鑰,一個是私鑰。私鑰存儲于客戶端,公鑰則被發(fā)送到服務器。公鑰可用于之后驗證用戶的客戶端證書。

目前瀏覽器對該元素糟糕的支持程度不足以使其成為有用的安全標準。

<form action="" method="get">
     <keygen name="security"></keygen>
     <input type="submit">
 </form>

效果圖如下


點擊第一項并提交后,地址欄的數(shù)據(jù)為

file:///C:/Users/wxf/Desktop/imooc/home/test4.html?security=MIICQDCCASgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCiOHLvFmlmZKNDwqFZ8ie7mSP%2FmRRVSxhgtvH3ORHEoAl63sO9mZWVEPs8ZrcgCLW5z1TFGs9hadvhL%2BafxUs%2FN6lXYWDpoM7juZLuRDbK%2BdF4WAMWDbgX3NzK5fj2t2J5oMiLaBh8slUUByCAENCktHXeEBCs%2BuaFqxZN%2B458BBTz%2Fg%2BYoQ5AUj3jv0lzfwUZ46xxd2yUyUVYpnYy8PMUQMwV4vZ2hNQEzM%2BW7HKHkBDTD8OQFDwmSuizLq5DO34x%2BInnvS9lpiJOkUHCUdciYITtLS2lw45JZnjkuJdeWGSwXmBdboBix99u6jZ6NGEtTQ2Pb%2BqNQFeutzLzrEEpAgMBAAEWADANBgkqhkiG9w0BAQQFAAOCAQEAHe4OWmRmaxhQxUPQnwY9W8kWwMMtEKZJ%2B28qVmZILOiBUJWYDiEXo2VJy9fUUuOL7gdrlc1exPNRMOIQSK2n221foHJ%2BKWmecnZ9jVwWr46eHASrrRKUHDANePwDxrUQ0bxr26vdcpGPZBFlvqf5RehkATlrYtt3Aij9txjzE%2FNss4d%2BL%2BtAOyY4KdgHRTjmn8HdA9%2BDgflroHyQ8frO3jvprojyDX3Jhko5o6XxScXJDKX3QO51PLOPcVsJLBElU8QPKZybO9GpCuj36TvX74CxP22wtsGkuRAGeqOyjjyyGBmKio83b1HudL6KEh31T2xyntk6STyqO%2FlxEdIRpQ%3D%3D
8. <output>元素

用于不同類型的輸出,如計算或腳本輸出。

<form action="action_page.php" method="get" oninput="resCalc()">
        <input type="Number" id="num_a" value="3"> +1
        <input type="range" id="num_b" value="4" min="1" max="10">10 =
        <output id="result" ></output>
</form>
<script type="text/javascript">
    function resCalc(){
            numA=document.getElementById("num_a").value;
            numB=document.getElementById("num_b").value;
            document.getElementById("result").value=Number(numA)+Number(numB);      
    }           
</script>

效果如下圖

通過總結(jié)對這些元素的認識更加深刻了,所以要經(jīng)常整理!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容