JavaScript 表單
JavaScript 表單驗證
HTML 表單驗證可以通過 JavaScript 來完成。
以下實例代碼用於判斷表單字段(fname)值是否存在, 如果不存在,就彈出資訊,阻止表單提交:
JavaScript 實例
function validateForm() {
var x = document.forms["myForm"]["fname"].value;
if (x == null || x == "") {
alert("需要輸入名字。");
return false;
}
}
以上 JavaScript 代碼可以通過 HTML 代碼來調用:
HTML 表單實例
<form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post">
名字: <input type="text" name="fname">
<input type="submit" value="提交">
</form>
JavaScript 驗證輸入的數字
JavaScript 常用於對輸入數字的驗證:
請輸入 1 到 10 之間的數字:
HTML 表單自動驗證
HTML 表單驗證也可以通過流覽器來自動完成。
如果表單字段 (fname) 的值為空, required 屬性會阻止表單提交:
實例
<form action="demo_form.php" method="post">
<input type="text" name="fname" required="required">
<input type="submit" value="提交">
</form>
Internet Explorer 9 及更早 IE 流覽器不支持表單自動驗證。
數據驗證
數據驗證用於確保用戶輸入的數據是有效的。
典型的數據驗證有:
- 必需字段是否有輸入?
- 用戶是否輸入了合法的數據?
- 在數字字段是否輸入了文本?
大多數情況下,數據驗證用於確保用戶正確輸入數據。
數據驗證可以使用不同方法來定義,並通過多種方式來調用。
服務端數據驗證是在數據提交到伺服器上後再驗證。
客戶端數據驗證 side validation是在數據發送到伺服器前,在流覽器上完成驗證。
HTML 約束驗證
HTML5 新增了 HTML 表單的驗證方式:約束驗證(constraint validation)。
約束驗證是表單被提交時流覽器用來實現驗證的一種演算法。
HTML 約束驗證基於:
- HTML 輸入屬性
- CSS 偽類選擇器
- DOM 屬性和方法
約束驗證 HTML 輸入屬性
屬性 | 描述 |
---|---|
disabled | 規定輸入的元素不可用 |
max | 規定輸入元素的最大值 |
min | 規定輸入元素的最小值 |
pattern | 規定輸入元素值的模式 |
required | 規定輸入元素字段是必需的 |
type | 規定輸入元素的類型 |
完整列表,請查看 HTML 輸入屬性。
約束驗證 CSS 偽類選擇器
選擇器 | 描述 |
---|---|
:disabled | 選取屬性為 "disabled" 屬性的 input 元素 |
:invalid | 選取無效的 input 元素 |
:optional | 選擇沒有"required"屬性的 input 元素 |
:required | 選擇有"required"屬性的 input 元素 |
:valid | 選取有效值的 input 元素 |
完整列表,請查看 CSS 偽類。