范仁義html+css課程---7、表單


范仁義html+css課程---7、表單

一、總結

一句話總結:

表單標簽的話主要掌握form標簽、input標簽(以及input標簽的不同的type值)、select標簽、textarea等標簽,及這些標簽對應的一些屬性

 

1、form標簽的常用屬性?

action:指定表單的發送地址(服務器地址)
method:表單數據發送至服務器的方法,常用的有兩種:get/post

 

2、form的get提交方式和post提交方式的區別?

get方法提交:數據會附在網址之后主動提交給服務器
post方法提交:數據不會附在網址后,會將數據打包發送給服務器,等候服務器來讀取數據進行處理

 

 

3、html表單元素中input元素的作用?

用來設置表單中的內容項,比如輸入內容的文本框,密碼框,選項框,按鈕等

 

4、input標簽的type常用類型?

text、password、email、num、checkbox、radio、file、hidden、image、submit、reset 和 button等,默認為 text

 

 

5、當input標簽的type為radio或checkbox時,指定按鈕是否是被選中用什么屬性?

checked屬性:<input name="gender" type="radio" checked value="男"> 男

 

6、表單中的隱藏域如何使用?

將input標簽的type屬性設置為hidden:例如 <input type="hidden" value="666" name="userid">

 

 

7、表單元素的readonly屬性和disabled屬性的作用分別是什么?

readonly屬性:只讀,不可修改,但是會提交元素數據
disabled屬性:只讀,不可修改,並且不會提交元素數據

 

8、如何實現點擊label標簽 自動將焦點轉移到與該標注相關的表單元素上?

label元素的for屬性的屬性值為相關表單元素的id
<div>
    <label for="username">用戶名:</label>
    <input type="text" required id="username" name="name" placeholder="用戶名">
</div>

 

 

9、表單初級驗證的常用方法?

1.placeholder:提示語默認顯示,當文本框中輸入內容時提示語消失
2.required:規定文本框填寫內容不能為空,否則不允許用戶提交表單
3.pattern:用戶輸入的內容必須符合正則表達式所指的規則,否則就不能提交表單:如 pattern="^1[358]\d{9}"

 

 

 

 

二、HTML-表單(非常詳細)

博客對應視頻課程位置:7、表單(2)
https://fanrenyi.com/video/2/13

 

 

表單基本介紹

form元素

  • 用來定義一個表單,是建立表單的基礎元素,(就類似定義表格的table)
  • 表單的其他元素包含在form元素中,其主要子元素有:input/button/select......

 

form元素的屬性

  • action:指定表單的發送地址(服務器地址)
  • method:表單數據發送至服務器的方法,常用的有兩種:get/post

 

get和post提交的區別

  • get方法提交,數據會附在網址之后主動提交給服務器
  • post方法提交,數據不會附在網址后,會將數據打包發送給服務器,等候服務器來讀取數據進行處理

 

表單語法

<form  method="post"(規定如何發送表單數據      常用值:get|post)
 action="result.html">(表示向何處發送表單數據)
   <p>  名字:<input name="name" type="text" >  </p>
   <p>  密碼:<input name="pass" type="password" >  </p>
   <p>
      <input type="submit" value="提交"/>
      <input type="reset" value="重填“/> 
   </p>
</form>

經驗:在實際網頁開發中通常采用post方式提交表單數據

 

表單元素格式

語法:

<input  type="text"(input元素類型)name="fname"(input元素名稱) 
value="text"(input元素的值)/>

屬性

說明

type

指定元素的類型textpasswordcheckboxradiosubmitresetfilehiddenimage button默認為 text

name

指定表單元素的名稱

value

元素的初始值type radio必須指定一個值

size

指定表單元素的初始寬度 type text password,表單元素的大小以字符為單位。對於其他類型,寬度以像素為單位

maxlength

typetext password 時,輸入的最大字符

checked

typeradiocheckbox時,指定按鈕是否是被選中

 

表單元素

文本框-語法

<input  type="text"(文本框)  name="userName"(文本框名稱) value="用戶名"(文本框初始值) size="30"(文本框長度) maxlength="20"(文本框可輸入最多字符) />

密碼框-語法

<input  type="password "(密碼框)  name="pass"(密碼框的名稱)  size="20"(密碼框的長度) />

單選按鈕-語法

<input name="gen" type="radio"(單選按鈕框) value="男"(值)  checked(單選按鈕選中狀態)  />男
<input name="gen" type="radio" value="女" />女

復選框-語法

<input type="checkbox"(復選框) name="interest" value="sports"(值)/>運動
<input type="checkbox" name="interest" value="talk" checked(復選框選中狀態) />聊天
<input type="checkbox" name="interest" value="play"/>玩游戲

列表框-語法

<select(列表框) name="列表名稱" size="行數">
<option value="選項的值" selected="selected"(默認選中項)>…</option >
<option(選項) value="選項的值">…</option >
</select>

按鈕-語法

<input type="reset" (重置按鈕)  value="reset按鈕"(按鈕上顯示的文字)>
<input type="submit"(提交按鈕)  value="submit按鈕">
<input type="button"(普通按鈕)  value="button按鈕"/>


圖片按鈕

<input type="image" src="images/login.gif"/(圖片路徑)>

多行文本域-語法

<textarea(多行文本域)  name="showText"  cols="x"(顯示的列數)  rows="y"(顯示的行數)>文本內容 </textarea  >

文件域-語法

<form action="" method="post" enctype="multipart/form-data"(表單編碼屬性)>
  <p><input type="file"(文件域) name="files" />
  <input type="submit" name="upload" value="上傳" /></p>
</form>

郵箱-語法

<p>郵箱:<input type="email"(郵箱)  name="email"/></p>
<input type="submit"/>

注意:會自動驗證Email地址格式是否正確

網址-語法

<p>請輸入你的網址:<input type="url"(網址)  name="userUrl"/></p>
<input type="submit"/>

注意:會自動驗證URL地址格式是否正確

數字-語法

<p>請輸入數字:<input type="number"(數字)  name="num" min="0"(允許的最小值) max="100"(允許的最大值) step(合法的數字間隔)="10"/></p>
<input type="submit"/>

滑塊-語法

<p>請輸入數字:<input type="range"(滑塊)  name="range1" min="0"(允許的最小值) max="10"(允許的最大值) step(合法的數字間隔)="2"/></p>
<input type="submit"/>

搜索框-語法

<p>請輸入搜索的關鍵詞:<input type="search"(搜索框)  name="sousuo"/></p>
<input type="submit"/>

 

表單的高級應用

隱藏域-語法

<input type="hidden"(隱藏域) value="666" name="userid">

只讀和禁用-語法

<input name="name" type="text" value="張三"  readonly(只讀文本框)>
<input type="submit "  disabled (禁用)  value="保存" >

表單元素的標注

1.增強鼠標的可用性

2.自動將焦點轉移到與該標注相關的表單元素上

語法

<label for="id"(表單元素的id)>標注的文本</label>
<input type="radio" name="gender" id="male"/(表單元素id)>

 

表單的初級驗證

表單驗證的好處

1.減輕服務器的壓力

2.保證數據的可行性和安全性

表單初級驗證的方法

1.placeholder 2.required 3.pattern

placeholder

1.input類型的文本框提供一種提示(hint

2.可以描述文本框期待用戶輸入何種內容

3.提示語默認顯示當文本框中輸入內容時提示語消失

4.適合於input標簽:textsearchurlemailpassword等類型

語法:

<input type="search" name="sousuo"  placeholder(文本框輸入內容提示)="請輸入要搜索的關鍵字"/>

 

required

1.規定文本框填寫內容不能為空,否則不允許用戶提交表單

2.適合於input標簽textsearchurlemailpasswordnumbercheckboxradiofile等類型

語法:

<input type="text" name="username"  required/(必填項)>

pattern

用戶輸入的內容必須符合正則表達式所指的規則,否則就不能提交表

語法:

<input type="text" name="tel"  required pattern(驗證規則,正則表達式)="^1[358]\d{9}" />

 

部分資料來源於網絡,侵刪

 

三、參考資料

1、input標簽詳解

input元素

  • 用來設置表單中的內容項,比如輸入內容的文本框,按鈕等
  • 不僅可以布置在表單中,也可以在表單之外的元素使用

input元素的屬性

  • type屬性:指定輸入內容的類型,默認為text:單行文本框
  • name屬性:輸入內容的識別名稱,傳遞參數時候的參數名稱
  • value屬性:默認值
  • maxlength:輸入的最大字數
  • readonly屬性:只讀屬性,設置內容不可變更,提交時會以前發送至服務器
  • disabled屬性:設置為不可用(不可操作)
  • required屬性:設置該內容為必須填寫項,否則無法提交
  • placeholder屬性:設置默認值,當文本框獲得焦點時被清空,對text/url/tel/email//password/search有效
  • autofocus屬性:自動獲得焦點
  • accesskey屬性:指定快捷鍵windows中,指定快捷鍵后,按Alt+“快捷鍵”,便會獲得焦點
  • tabindex屬性:指定按Tab鍵時,項目間的移動順序
  • autocomplet屬性: HTML5新增屬性屬性值為on/off,定義是否開啟瀏覽器自動記憶功能

input的其他屬性還有很多,我們放在案例中逐步講解,暫時先了解這三個

type屬性值

  • 默認為text
  • password:密碼狀態輸入
  • submit:提交按鈕,點擊將數據發送至服務器
  • reset:重置按鈕
  • button:普通按鈕
  • imge:圖片式提交按鈕
  • hidden;隱藏字段
    • 該內容不會顯示頁面上
    • 一般為網頁設計者設置的變量數據,提交時,隱藏內容會提交到服務器
    • 關於hidden暫時只了解這么多,以后用到的時候再詳細說
  • email:表示要輸入一個電子郵箱
    • 這是HTML5新增的元素
    • 他會對輸入內容進行驗證,在之前需要編寫大段的JS代碼來進行這項工作
    • 瀏覽器版本比較低的話有可能不支持,不同的瀏覽器提示的效果可能有差異
  • url:表示要輸入一個網址
    • 這是HTML5新增的
    • 他會對輸入內容進行驗證,在之前需要編寫大段的JS代碼來進行這項工作
    • 瀏覽器版本比較低的話有可能不支持,不同的瀏覽器提示的效果可能有差異
  • tel:表示輸入的內容是一個電話號碼
    • 這是HTML5新增的
    • 他不會對輸入內容進行驗證
    • 瀏覽器版本比較低的話有可能不支持,不同的瀏覽器提示的效果可能有差異
  • number:
    • 這是HTML5新增的
    • 可以配合input的max/min/step/value規定允許輸入的最大值/最小值/步長/默認值
    • 瀏覽器版本比較低的話有可能不支持,不同的瀏覽器提示的效果可能有差異
  • range(活動條)
    • 這是HTML5新增的;與number類型類似,也是表示一定范圍的數值輸入,但是以一個活動條的狀態顯示
    • 可以配合input的max/min/step/value規定的最大值/最小值/步長/默認值
    • 瀏覽器版本比較低的話有可能不支持,不同的瀏覽器提示的效果可能有差異
  • 時間類
    • 這是HTML5新增的;
    • 包括datetime/datetime-local/date/month/week/time
    • 瀏覽器版本比較低的話有可能不支持,不同的瀏覽器支持程度不同
  • color
    • 這是HTML5新增的;
    • 可以建立一個顏色的選擇輸入框
    • 瀏覽器版本比較低的話有可能不支持,不同的瀏覽器支持程度不同
  • seacrch
    • 這是HTML5新增的;
    • 用於建立一個搜索框,用來供用戶輸入搜素的關鍵詞
    • 瀏覽器版本比較低的話有可能不支持,不同的瀏覽器支持程度不同
  • file
    • 用來創建一個文件選取的輸入框
    • 可通過accept屬性規定選取文件的類型,比如圖片/視頻
    • multipe屬性可以設定一次允許選擇多個文件
  • checkbox/復選框
    • 用來創建一個復選框(可以多項選擇)
    • 通過checked屬性可講某個選項設為默認的選取狀態,再次單擊取消選取
  • radio/單選框
    • 用來創建一個單選框(可以多項選擇)
    • 通過checked屬性可講某個選項設為默認的選取狀態,再次單擊取消選取
    • 必須將同一組單選項設置一個相同的name屬性值



四、課程代碼

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>登錄的表單實例</title>
 6 </head>
 7 <body>
 8     <div>
 9         <form action="action.html" method="post">
10             <div>
11                 <label for="user_phone">手機號碼:</label>
12                 <input id="user_phone" name="user_phone" type="text" pattern="^1[358]\d{9}" placeholder="大陸手機號碼">
13             </div>
14             <br>
15             <div>
16                 密碼:<input name="password" type="password" placeholder="密碼只能填寫6位">
17             </div>
18             <br>
19             <div>
20                 <input name="remember_me" checked type="checkbox">記住我
21             </div>
22             <br>
23             <div>
24                 <input name="gender" checked type="radio" value="nan">25                 <input name="gender" type="radio" value="nv">26             </div>
27             <br>
28             <div>
29                 <div>愛好</div>
30                 <input name="hobby[]" type="checkbox" value="hobby1">籃球
31                 <input name="hobby[]" type="checkbox" value="hobby2">足球
32                 <input checked name="hobby[]" type="checkbox" value="hobby3">旅游
33                 <input checked name="hobby[]" type="checkbox" value="hobby4">挖掘機
34             </div>
35             <br>
36             <div>
37                 <div>班級</div>
38                 <select name="class" id="">
39                     <option value="class1">班級一</option>
40                     <option value="class2">班級二</option>
41                     <option selected="selected" value="class3">班級三</option>
42                 </select>
43             </div>
44             <br>
45             <div>
46                 <div>個人簡介</div>
47                 <textarea name="profile" id="" cols="60" rows="5">textarea設置默認值</textarea>
48             </div>
49             <br>
50             <div>
51                 <div>個人圖片</div>
52                 <input name="user_img" type="file">
53             </div>
54             <br>
55             <div>
56                 <div>郵箱</div>
57                 <input name="email" type="email">
58             </div>
59             <div>
60                 <div>網址</div>
61                 <input name="url" type="url">
62             </div>
63             <div>
64                 <div>年齡</div>
65                 <input name="age" type="number" min="0" max="150" step="12">
66             </div>
67             <div>
68                 <div>滑塊</div>
69                 <input name="range1" type="range" min="2" max="150" step="30">
70             </div>
71             <div>
72                 <div>搜索</div>
73                 <input name="search11" type="search">
74             </div>
75             <br>
76             <div>
77                 <div>隱藏域</div>
78                 <input type="hidden" value="666" name="userid">
79             </div>
80             <div>
81                 <input type="submit" value="登錄">
82                 <input type="reset" value="重置">
83                 <input type="button" value="普通按鈕">
84                 <input type="image" src="../img/btn.jpg" style="width: 100px;">
85             </div>
86         </form>
87     </div>
88 </body>
89 </html>

 

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM