HTML form 元素
網站可以具備功能非常強大,不但能夠進行資訊展示,也可以進行互動。
比如註冊會員、釋出文章或者跟帖留言,都屬於互動操作。
利用 <form> 表單元素可以實現上述操作。
首先看一個程式碼:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> ul li{ list-style:none; } </style> </head> <body> <ul> <li>姓名:<input type="text" name="username" /></li> <li>密碼:<input type="password" name="pw" /></li> <li> <input type="submit" value="登陸" /> <input type="reset" value="重置" /> </li> </ul> </body> </html>
程式碼執行效果截圖如下:
上面是一個簡單的使用者登入介面,點選登入按鈕通常會有一個登入動作。
然後,點選登入提交按鈕沒有任何反應,因為沒有和任何 <form> 元素髮生關聯。
程式碼修改如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="https://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> ul li{ list-style:none; } </style> </head> <body> <form> <ul> <li>姓名:<input type="text" name="username" /></li> <li>密碼:<input type="password" name="pw" /></li> <li> <input type="submit" value="登陸" /> <input type="reset" value="重置" /> </li> </ul> </form> </body> </html>
ul 外層巢狀了一個 <form> 元素,現在點選提交按鈕,可以發現位址列有明顯變化。
<form> 元素的功能初步得以體現,此元素可以生成一個可互動模組,與之相關聯的表單元素,比如單選按鈕,核取方塊、單行文字框或者多行文字框等可以向伺服器傳輸資料。
一.產生關聯的方式:
(1).使用 <form> 元素巢狀其他表單元素。
(2).其他表單元素的 for 屬性與 <form> 的 id 屬性值關聯。
二.form元素主要屬性:
下面介紹一下 <form> 元素常用的屬性,分別如下:
1.name屬性:
用來給 <form> 元素命名,提供了一種指令碼獲取 <form> 元素的手段。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> ul li{ list-style:none; } </style> <script> window.onload=function(){ console.log(document.forms["ant"].id) } </script> </head> <body> <form name="ant" id="antzone"> <ul> <li>姓名:<input type="text" name="username" /></li> <li>密碼:<input type="password" name="pw" /></li> <li> <input type="submit" value="登陸" /> <input type="reset" value="重置" /> </li> </ul> </form> </body> </html>
程式碼執行效果截圖如下:
也可以使用document.getElementsByName方法獲取。
2.action屬性:
此屬性規定焦點資料提交的目標頁面,也就是資料將會傳送到哪個檔案。
如果不規定或者屬性值為 # 等特殊值,會將資料提交到當前頁面。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> ul li{ list-style:none; } </style> <script> window.onload=function(){ console.log(document.forms["ant"].id) document.getElementsByName } </script> </head> <body> <form name="ant" action="softwhy.php"> <ul> <li>姓名:<input type="text" name="username" /></li> <li>密碼:<input type="password" name="pw" /></li> <li> <input type="submit" value="登陸" /> <input type="reset" value="重置" /> </li> </ul> </form> </body> </html>
點選提交按鈕可以將表單資料提交到softwhy.php檔案。
3.method屬性:
此屬性規定表單資料提交的方式。
(1).get:預設值,通過 url 提交資料,點選提交按鈕後,可以看到位址列發生變化,後面會出現鍵值對,其實就是表單元素的 name 屬性值與對應的 value 屬性值,截圖如下:
缺點也比較明顯,資料量較小,通常不能夠超過1k,安全性也不好。
(2).post:傳輸上大小上沒有限制,並且安全性良好,不通過url傳輸。
程式碼片段如下:
[HTML] 純文字檢視 複製程式碼<form method="提交方式"> <!--表單內容--> </form>
4.target屬性:
此屬性規定在何處開啟atcion屬性規定的url。
程式碼片段如下:
[HTML] 純文字檢視 複製程式碼<form target="_blank|_self|_parent|_top|framename"> <!--表單內容--> </form>
屬性值功能與<a>元素的target屬性值完全相同,不多介紹,
具體參閱HTML <a> 標籤一章節。
5.accept-charset屬性:
此屬性規定表單提交時使用的字元編碼。
預設值是保留字串 "UNKNOWN"(表示編碼為包含<form>元素的文件的編碼)。
表單提交時使用的字元編碼列表,多個字元編碼使用空格分隔。
[HTML] 純文字檢視 複製程式碼<form accept-charset="character_set"> <!--表單內容--> </form>
6.enctype屬性:
此屬性規定對錶單資料進行編碼的方式,需要注意,method屬性值等於post時有效。
(1).application/x-www-form-urlencoded:預設值,傳送前對所有字元進行編碼(將空格轉換為 "+" 符號,特殊字元轉換為 ASCII HEX 值)。
(2).multipart/form-data:不對字元編碼,當使用有檔案上傳控制元件的表單時,該值是必需的。
(3).text/plain:將空格轉換為 "+" 符號,但不編碼特殊字元。
7.autocomplete屬性:
此屬性是HTML5新增,算是非常人性化的一個舉措。
當使用者在表單元素鍵入內容的時候,會根據歷史以往的輸入自動列出類似於下拉選單的歷史選項。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> ul li{ list-style:none; } </style> </head> <body> <form name="ant" autocomplete="on"> <ul> <li>姓名:<input type="text" name="username" /></li> <li>密碼:<input type="password" name="pw" /></li> <li> <input type="submit" value="登陸" /> <input type="reset" value="重置" /> </li> </ul> </form> </body> </html>
程式碼執行效果截圖如下:
具有兩個屬性值on與off,on(預設值)表示開啟此功能,off表示關閉此功能。
8.novalidate屬性:
此屬性是HTML5新增,規定表單提交時是否對錶單元素資料進行正確性驗證。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload=function(){ text.oninvalid=function(){ text.setCustomValidity("請輸入正確格式的手機號碼"); }; } </script> </head> <body> <form action="do.php" name="ant" novalidate> <input id="text" pattern="^1[3-9]\d{9}$" required /> <input id="button" type="submit" /> </form> </body> </html>
上述程式碼不會對輸入文字框的資料進行驗證,novalidate只有一個屬性值"novalidate",可以省略。
特別說明:此屬性僅會禁止HTML內建的驗證規則,如果自定義的驗證規則,此屬性無效。
相關文章
- HTML 23 - Form AttributesHTMLORM
- HTML————3、HTML元素HTML
- HTML元素HTML
- HTML 元素HTML
- form表單的元素及方法ORM
- HTML 24 - Form ControlHTMLORM
- HTML <img> 元素HTML
- HTML p元素HTML
- HTML <p> 元素HTML
- HTML fieldset元素HTML
- HTML 元素(轉)HTML
- JavaScript 獲取form所有表單元素JavaScriptORM
- JavaScript獲取form下所有input元素JavaScriptORM
- HTML標記之Form表單HTMLORM
- HTML 空元素 And 可替換元素HTML
- HTML——② HTML 元素、屬性詳解HTML
- 表單元素的form屬性介紹ORM
- 用struts 怎樣動態指定form元素ORM
- HTML <dialog> 元素HTML
- HTML input 元素概述HTML
- HTML內聯元素HTML
- jQuery 操作html元素jQueryHTML
- html塊級元素HTML
- HTML_行內元素、塊級元素、空元素HTML
- HTML標籤之form,input,button,tableHTMLORM
- Html form 表單提交前驗證HTMLORM
- Html Form 驗證非同步的提交HTMLORM非同步
- 將資料存放於html元素或者從html元素刪除HTML
- HTML 塊級元素和內聯元素HTML
- Html 內聯元素和外聯元素HTML
- 表單元素的form屬性用法介紹ORM
- html元素,屬性修改HTML
- HTML 自閉和元素HTML
- HTML----元素層級HTML
- HTML元素拖動JSHTMLJS
- HTML 自定義元素教程HTML
- JavaScriptDOM物件控制HTML元素JavaScript物件HTML
- HTML5新增元素HTML