javaScript验证失败,怎么还会跳进Actiona并携带错误的数据

来源:百度知道 编辑:UC知道 时间:2024/06/16 09:57:18
<html>
<head>
<base href="<%=basePath%>">
<title>信息上传</title>
</head>
<script>
function check(){
var reg = /^([a-zA-Z])|([\u0391-\uFFE5]+)|([_])|([0])|([1])|([2])|([3])|([4])|([5])|([6])|([7])|([8])|([9])$/;
var reg1 = /^$/
var str=document.all.title.value;
var _sivalue=false;
for(var i =0; i<str.length;i++){
var _iKeyCode =str.substring(i,i+1);
if(!reg.test(_iKeyCode)){
_sivalue=true;
}
}
if(_sivalue){
alert("输入必须是中文,英文,下划线和数字!");
return false;
document.all.title.select();
}
}
</script>

<body>
<form name="form1" Method="post" enctype="multipart/form-data" action="inforAction.do?act=addInfor">
<table border="1" align="center" width="500">
<tr

将 <input type="submit" value="确定" onclick="check()"/>
修改为
<input type="submit" value="确定" onclick="return check()"/>
就可以了
如果不加return ,js会一直执行

首先如果是用submit按钮,那么在提交前要进行验证就必需要进行表单提交验证,就是在<form>中添加onsumbit="return(check())",如果是用button按钮就必需在验证成功的语句块中添加这样一句.
document.all.form1.sumbit(),意思是说,如果验证成功,就提用form表单的sumbit()方法,提交表单,这样传送到action页面才能得到内容。