日期:2014-05-16  浏览次数:20375 次

求助~为什么JS注册页面的判断信息一闪而过???
[color=#FF0000]真是百思不得其解啊~~~,为什么一点提交,提示错误的那些信息一闪而过呢???[/color]




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
function hs(){
var str="";
//判断姓名不能为空
var x=document.getElementById("txt1").value;
var str2="错误"
var HaveFalse=true;
if(x==""){
document.getElementById("label1").innerHTML="该用户名不能为空!";
HaveFalse=false;
}
else{
document.getElementById("label1").innerHTML="";
str="姓名:"+x;
}
//判断密码不能为空
var y=document.getElementById("txt2").value;
if(y==""){                
document.getElementById("label2").innerHTML="该密码不能为空!";
HaveFalse=false;
}
else{
document.getElementById("label2").innerHTML="";
}
//判断性别的选择
var xb=document.myform.sex;
for(var i=0;i<xb.length;i++){
if(xb[i].checked==true){ 
str+="\n性别:"+xb[i].value;
break;
}

}
//爱好进行选择
var s="";
var ah=document.myform.aihao;
for(var j=0;j<ah.length;j++){
if(ah[j].checked==true){
s+=ah[j].value;
}
}

if(s==""){
document.getElementById("label4").innerHTML="爱要要进行选择!"
HaveFalse=false;;
}
else{
document.getElementById("label4").innerHTML="";
str+="\n爱好:"+s;
}
/*if(HaveFalse)
{alert(str);}*/

}
</script>
</head>

<body>
<form name="myform" method="post" onsubmit="return hs()">
姓名:<input type="text" id="txt1" /><label id="label1"></label><br><br>
密码:<input type="password" id="txt2" /><label id="label2"></label><br><br>
性别:<input type="radio" name="sex" checked="checked" value="男" />男<input type="radio" name="sex" value="女" />女<label id="label3"></label><br><br>
爱好:<input type="checkbox" name="aihao" value="游泳" />游泳<input type="checkbox" name="aihao" value="唱歌" />唱歌<input type="checkbox" name="aihao" value="上网" />上网<label id="label4"></label><br><br>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
</form>
</body>
</html>

------解决方案--------------------
submit后页面要刷新的,所以会一闪而过

解决方法是submit手动控制
<form id="frm" name="myform" method="post">
姓名:<input type="text" id="txt1" /><label id="label1"></label><br><br>
密码:<input type="password" id="txt2" /><label id="label2"></label><br><br>
性别:<input type="radio" name="sex" checked="checked" value="男" />男<input type="radio" name="sex" value="女"&nb