元素定義 HTML 表單
表單元素指的是不同類型的 input 元素、複選框、單選按鈕、提交按鈕等等。
HTML 表單用於蒐集不同類型的使用者輸入。
<form><span style="color: #000000;"> . form elements . </span></form>
元素有許多形態,依照不同的 type 屬性。
這是本章中使用的類型:(另外還有password,checkbox,button等)
型 | 描述 |
---|---|
text | 定義常規文字輸入。 |
radio | 定義單選按鈕輸入(選擇多個選項之一) |
submit | 定義提交按鈕(提交表單) |
HTML5 增加了多個新的輸入類型:
註解:老式 web 瀏覽器不支援的輸入類型,會被視為輸入類型 text。
這裡列出了一些常用的輸入限制(其中一些是 HTML5 中新增的):
屬性 | 描述 |
---|---|
disabled | 規定輸入欄位應該被停用。 |
max | 規定輸入欄位的最大值。 |
maxlength | 規定輸入欄位的最大字元數。 |
min | 規定輸入欄位的最小值。 |
pattern | 規定通過其檢查輸入值的正規表示式。 |
readonly | 規定輸入欄位為唯讀(無法修改)。 |
required | 規定輸入欄位是必需的(必需填寫)。 |
size | 規定輸入欄位的寬度(以字元計)。 |
step | 規定輸入欄位的合法數字間隔。 |
value | 規定輸入欄位的預設值。 |
定义单选按钮。
单选按钮允许用户在有限数量的选项中选择其中之一:
<form> <input type=<span style="color: #800000;">"</span><span style="color: #800000;">radio</span><span style="color: #800000;">"</span> name=<span style="color: #800000;">"</span><span style="color: #800000;">sex</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">male</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">checked</span>><span style="color: #000000;">Male </span><br> <input type=<span style="color: #800000;">"</span><span style="color: #800000;">radio</span><span style="color: #800000;">"</span> name=<span style="color: #800000;">"</span><span style="color: #800000;">sex</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">female</span><span style="color: #800000;">"</span>><span style="color: #000000;">Female </span></form>
定义用于向表单处理程序(form-handler)提交表单的按钮。
表单处理程序通常是包含用来处理输入数据的脚本的服务器页面。
表单处理程序在表单的 action 属性中指定:
<form action=<span style="color: #800000;">"</span><span style="color: #800000;">action_page.php</span><span style="color: #800000;">"</span>><span style="color: #000000;"> First name:</span><br> <input type=<span style="color: #800000;">"</span><span style="color: #800000;">text</span><span style="color: #800000;">"</span> name=<span style="color: #800000;">"</span><span style="color: #800000;">firstname</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">Mickey</span><span style="color: #800000;">"</span>> <br><span style="color: #000000;"> Last name:</span><br> <input type=<span style="color: #800000;">"</span><span style="color: #800000;">text</span><span style="color: #800000;">"</span> name=<span style="color: #800000;">"</span><span style="color: #800000;">lastname</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">Mouse</span><span style="color: #800000;">"</span>> <br><br> <input type=<span style="color: #800000;">"</span><span style="color: #800000;">submit</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">Submit</span><span style="color: #800000;">"</span>> </form>
action 属性定义在提交表单时执行的动作。
向服务器提交表单的通常做法是使用提交按钮。
通常,表单会被提交到 web 服务器上的网页。
在上面的例子中,指定了某个服务器脚本来处理被提交表单:
<form action=<span style="color: #800000;">"</span><span style="color: #800000;">action_page.php</span><span style="color: #800000;">"</span>>
如果省略 action 属性,则 action 会被设置为当前页面。
method 属性规定在提交表单时所用的 HTTP 方法(GET 或 POST)
<form action=<span style="color: #800000;">"</span><span style="color: #800000;">action_page.php</span><span style="color: #800000;">"</span> method=<span style="color: #800000;">"</span><span style="color: #800000;">GET</span><span style="color: #800000;">"</span>><span style="color: #000000;"> 或: </span><form action=<span style="color: #800000;">"</span><span style="color: #800000;">action_page.php</span><span style="color: #800000;">"</span> method=<span style="color: #800000;">"</span><span style="color: #800000;">POST</span><span style="color: #800000;">"</span>>
您能够使用 GET(默认方法):
如果表单提交是被动的(比如搜索引擎查询),并且没有敏感信息。
当您使用 GET 时,表单数据在页面地址栏中是可见的:
action_page.php?firstname=Mickey&lastname=Mouse
注释:GET 最适合少量数据的提交。浏览器会设定容量限制。
您应该使用 POST:
如果表单正在更新数据,或者包含敏感信息(例如密码)。
POST 的安全性更加,因为在页面地址栏中被提交的数据是不可见的。
如果要正确地被提交,每个输入字段必须设置一个 name 属性。
本例只会提交 "Last name" 输入字段,因为“First name“没有设置 name 属性:
<form action=<span style="color: #800000;">"</span><span style="color: #800000;">action_page.php</span><span style="color: #800000;">"</span>> First name:
"text" value="Mickey">
Last name:
"text" name="lastname" value="Mouse">
"submit" value="Submit">