js表单:验证成功,非法数据依然被提交怎么办?

来源:百度知道 编辑:UC知道 时间:2024/06/06 21:05:53
function checkuser(){
var k1=document.getElementById("k1")
var nr=document.getElementById("username").value
if(!nr){
k1.innerHTML="用户账号不能为空!"
return
}
else{
var z=/[0-9a-zA-Z_-]{4,16}/
var e=new RegExp(z)
if(e.test(nr)==false){
k1.innerHTML="用户账号设置不合规则!"
return
}
else{
str="6.asp?username="+nr+"&t="+new Date().getTime()
xmlhttp.open("GET",str,true)
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
k1.innerHTML=xmlhttp.responseText
}
}
xmlhttp.send(null)
}
}
}

一、验证代码写在<form>的onsubmit事件里面,这样比写在<input type=submit>的onclick里面要好,例如:
<form name=... action=... method=post onSubmit="return check();">

二、非法数据提示之后,一定要return false;例如:
function check(){
if (document.form1.username.value=='') {alert('用户名为空!');return false;}
return true;
}

补充:
我说得不清楚吗,比如你下面这段就不对:
if(!nr){
k1.innerHTML="用户账号不能为空!"
return
}
应该修改为:
if(!nr){
k1.innerHTML="用户账号不能为空!"
return false
}