淺談HTML表單(二):表單元素

貼上完整的代碼圖:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <div class="login"> <input type="text" name="sex"> <form action="/a123" method="get"> <div class="username"> <label for="username">姓名</label> <input id="username" type="text" name="username1" placeholder="用戶名"> </div> <div class="password"> <label for="password">密碼</label> <input id="password" type="password" name="password1"> </div> <div class="sex"> <label for="sex">性別</label> <input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女 <!-- <input type="radio" name="sex1" value="男">男 <input type="radio" name="sex1" value="女">女 --> </div> <div class="sexchoose"> <label for="sexchoose">取向</label> <input type="radio" name="sex2" value="男">男 <input type="radio" name="sex2" value="女">女 </div> <div class="hobby"> <label>愛好</label> <input type="checkbox" name="hobby" value="dota">dota <input type="checkbox" name="hobby" value="travl">旅遊 <input type="checkbox" name="hobby" value="pet">寵物 </div> <div class="textarea"> <label for="textarea">評論</label> <textarea name="article"> 123 </textarea> <input type="hidden" name="abcd" value="12345"> </div> <div class="file"> <input type="file" name="myfile" accept="image/png"> </div> <div class="choose"> <label for="pet">我的寵物</label> <select name="city"> <option value="cat">貓</option> <option value="dog" selected>狗</option> <option value="fish">魚</option> </select> <button>提交</button> <!-- </div> <div class="submit"> <input type="submit" value="提交"> </div> --> <!-- <div class="submit"> <button>提交</button> </div> --> </form> </div></body></html>

效果圖:

具體標籤:

1、form

代碼結構如:

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

form標籤是表單的外殼,有4個主要屬性:

(1)action:表單提交的地址

(2)method:提交表單的方法

(3)target:在何處打開action

(4)enctype:

  • application/x-www-form-urlencoded:在發送前編碼所有字元(默認)
  • text/plain:空格轉換為「+」加號,但不對特殊字元編碼
  • multipart/form-data:使用包含文件上傳控制項的表單是,必須使用該值

2、type

代碼結構如:

<input type="text" name="sex">

(1)type="text"

普通的文本輸入框,單行輸入(不行回車換行)。可輸入文字展示

(2)type="password"

輸入密碼是以圓點展示,不被人知道

(3)type="checkbox"

呈現帶有陰影的勾選方框

代碼如下:

<div class="hobby"> <label for="hobby">愛好</label> <input type="checkbox" name=>讀書 <input type="checkbox" name=>聽歌 <input type="checkbox" name=>游泳 </div>

如圖:

註:A、如果是分組,name寫成不同,表示多選,如針對hobby這個關鍵字的搜索,value值需要設置,否則後台提交的用戶信息將顯示為on(無信息展示)。

B、value的作用:讓後台來識別該欄位的信息

(4)type="radio"

呈現帶有陰影的點選圓框

代碼結構如下:

<div class="hobby"> <label for="sex">性別</label> <input type="radio" name="sex" value="male">男 <input type="radio" name="sex" value="female">女 </div>

如圖:

註:radio 如何分組?舉例說明,只需要在<input type="radio" name="sex" value="男">中的name值設置另一個意義值,就可以分組顯示

如第1組:

<input type="radio" name="sex" value="男">男

<input type="radio" name="sex" value="女">女

第2組:

<input type="radio" name="sex1" value="男">男

<input type="radio" name="sex1" value="女">女

即:

<div class="hobby"> <label for="sex">性別</label> <input type="radio" name="sex" value="male">男 <input type="radio" name="sex" value="female">女 <input type="radio" name="sex1" value="男">男 <input type="radio" name="sex1" value="女">女 </div>

如圖:

(5)type="file"

用於文件上傳,呈現「選擇文件」按鈕,點擊即可上床文件

<input type="file" name="myfile" accept="image/png,image/jp

註:accept該參數使用,即用於接收所限制的文件格式

(6)type="hidden"

作用:暫存信息。如在type="hidden"埋下一個值,後台定位獲取相應的值,可安全存值,用戶什麼都看不見,只能在後台看到;

保障安全。當打開一個頁面,實際上該頁面是後端寫的模板並在裡面填充數據,填充好數據後,安全策略時使用type="hidden",即:

<input type="hidden" name="abc" value="123456">

當用戶提交用戶信息至後台,同時該安全點type="hidden"的值也會提交後台,後台進行校驗——確認過安全,相當於埋在後台與用戶信息相匹配的一個安全校驗值,即該用戶為一個合法用戶。

(7)type="button",不能點擊提交

(8)type="submit",可以點擊提交

(9)type="reset",用於清空所有用戶信息

註:A、以下input有何作用?

<input type="submit" value="提交" name="提交按鈕">

B、type="submit" ,提示input作用為「提交」按鈕

C、value="提交",顯示提交作用,意義在於「點擊提交」的交互作用

D、input里name 作用?即用於傳遞數據給後台都形成有意義的識別值,如用value和name賦值,如果不寫的話,該輸入標籤將不會有任何意義,就等於無實際操作表單的意義。

3、type=hidden隱藏域作用

type=hidden隱藏域,作為校驗該用戶信息的一個隱藏值(判斷標準)。當用戶打開頁面後是看不見type=hidden相應的值,填寫用戶信息之後點擊提交時,用戶信息的數據(包括type=hidden值)隨即提交後台,打開後台則會展示代碼type=hidden所寫的相應元素屬性值。後台校驗type=hidden相應值如果是正確,即用戶提交為安全。

埋點(保護的參數)——瀏覽器提交後台有該參數作為校驗標準參考——若顯示錯值或無值,伺服器也將不承認所提交的數據;若為正確值,則說明該用戶獲取許可權,即為合法用戶,可防止CSRF攻擊

4、label

輸入框前的文字標註

代碼如下:

<div class="username"> <label for="username">姓名</label> <input id="username" type="text" name="username1"></div>

註:for,用於點擊文字或輸入框時,是文字顯示一種focus狀態,可直接輸入對應信息

5、select

下拉菜單

代碼結構如下:

<div class="choose"> <select name="city"> <label for="pet">我的寵物</label> <option value="cat">貓</option> <option value="dog">狗</option> <option value="fish">魚</option> </select> </div>

option中,設置默認選擇的初始值,即<option value="cat" selected>貓</option>

6、textarea

實現多行文本,展示較大的輸入框。即常見的評論框。

代碼結構如下:

<div class="textarea"> <label for="textarea">評論</label> <textarea name="article"> 123 </textarea></div>

註:若在<textarea>。。。</textarea>中輸入任意值,即相當於value賦值的意義,也就是說在<textarea>。。。</textarea>輸入的值都能顯示其輸出的意義。

7、placeholder

用於輸入什麼用戶信息的提示

代碼結構如下:

<div class="username"> <label for="username">姓名</label> <input id="username" type="text" name="username1" placeholder="用戶名"> </div>

效果圖:

推薦閱讀:

angular2的html如何顯示大括弧,一般它會識別成數據綁定?
有哪些比較系統的在線學習 HTML 教程?
給HTML初學者的30條最佳實踐
字元編碼:計算機的巴別塔
為什麼Markdown在2004年才出現,而推廣更晚?

TAG:表單 | HTML | 前端開發入門 |