日期:2014-05-19  浏览次数:20827 次

javascript验证失败后如何阻止表单提交 求帮助啊!!!!
我的javascript表单验证失败后return false后为什么不回到当前页面却提交了表单信息到后台那,我是哪里写错了吗,请高人指点啊.
js代码:
<script type="text/javascript">
function check(username){
var reg = /^\d{6-15}|\w{6-15}+$/;
if(username==null||username==""){
alert('用户名不能为空');
return false;
}
if(!reg.test(username)){
alert('用户名必须在6-15位之间');
return false;
}
}
</script>
表单代码:
<form action="regist.do" method="post">
<table cellpadding="0" cellspacing="0" border="0"class="form_table">
<tr>
<td valign="middle" align="right">
用户名:
</td>
<td valign="middle" align="left">
<input type="text" class="inputgri" name="username" />
</td>
</tr>

<tr>
<td valign="middle" align="right">
密码:
</td>
<td valign="middle" align="left">
<input type="password" class="inputgri" name="pwd" />
</td>
</tr>
</table>
<p><input  type="submit" class="button" value="确定" onclick="check(document.getElementById('username').value);"  />
</p>
</form>
------最佳解决方案--------------------
onclick 加return check(......)
------其他解决方案--------------------
在click方法前面加一个return,一楼正解。瞬间可解决。。
------其他解决方案--------------------
form表单有一个onsubmit事件   
<form action="" method="" onsubmit="return check()"> 方法如果返回的是false 就不会提交了
------其他解决方案--------------------
也可以不用<input type="submit" ...> 改成普通的button,在onclick的方法中提交或不提交。
------其他解决方案--------------------
return Check(...)
------其他解决方案--------------------
return Check(document.getElementById('username').value) 
------其他解决方案--------------------
都可以。但自己实现