Javascript表單驗證要注意的事項,javascript表單
Javascript表單編程:
一.表單元素的尋找方式:
1.var oForm=document.getElementById("Form1");
2.var oForm=document.forms[Form1]//通過name尋找;
二.表單欄位的共同特點:
disabled:該屬性用於指示一個表單控制項是否可用;
form屬性:該屬性返回包含欄位的表單;
blur():該方法導致表單欄位失去焦點;
focus():該方法導致表單欄位獲得焦點;
blur事件:當表單欄位失去焦點時,發生該事件,隨後執行onblur事件處理常式;
focus事件:當表單欄位獲得焦點時,發生該事件,隨後執行onfocus事件處理常式;
三:表單提交,重設
sumbit: oForm sumbit();
reset: oForm reset();
四.擷取文字框的值:
length otext.value.length;
五:添加元素節點,文本節點,刪除元素
creatElement,creatTextNode,remove;
六:選中複選框的值:select
七:表單校正最佳實務:
必須對使用者有協助;
不要讓人討厭;
只要有可能就用HTML功能代替Javascript
一次顯示所有錯誤;
早點捕獲錯誤;
如果拿不準就不要太嚴格;
JavaScript 表單驗證問題
先看下你的代碼,這裡有幾個問題
1、表單提交時執行的函數未找到
onsubmit="return chkform(this)" 這裡的chkform函數在哪裡?如果 Form1_Validator 函數,要修改。
2、Form1_Validator 函數代碼錯誤
少了一個“}”
以下是修改後的代碼:
<script>
// 清除字串兩端的空白字元
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g,'');
}
// 驗證表單
function chkform(theForm){
var username=theForm.username.value;
username=trim(username);
if (username == ""){
alert("請輸入使用者名稱");
theForm.username.focus();
return false;
}
}
</script>
// 代碼結束
通常表單驗證要根據是需要對錶單值的格式、規則進行驗證。比如使用者名稱,多少個字元,是否可以在裡面使用符號等。根據要求寫出相應的Regex來進行匹配驗證。
javascript表單驗證
驗證函式如下:
function chkfrm(o){
if(!/\d+/gi.test(o.empid.value)){
alert('僱員編號:只能是數字。');
return false;
}
if(o.empname.value==''){
alert('僱員姓名:不可為空。');
return false;
}
if(o.empjob.value==''){
alert('僱員工作:不可為空。');
return false;
}
if(!/^((((1[6-9]|[2-9]\d)\d{2})[-\/](0?[13578]|1[02])[-\/](0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})[-\/](0?[13456789]|1[012])[-\/](0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})[-\/]0?2[-\/](0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))[-\/]0?2[-\/]29[-\/]))$/gi.test(o.emptime.value)){
alert('僱傭日期:必須是日期格式,即2013-03-02');
return false;
}
if(isNaN(o.empmoney.value)){
alert('基本工資:必須是數字(小數)');
return false;
}
if(isNaN(o.emprw.value)){
alert('獎金:必須是數字(小數)');
return false;
}
}
將
<form action="" method="post">
改為
<form action="" method="post" onsubmit="javascript:return chkfrm(this);">
即可