写一注册页面,使用JS验证两次输入的密码是不是一一样,如果不一样,则不进行提交,现在我的页面不管一样不一样, 总是提交,而且取消也会提交是怎么回事!求解!代码如下:
<script type="text/javascript">
function pass(){
var p1=userForm.upass.value;
var p2=userForm.upass2.value;
if(p1!=p2){
alert(p1+"两次密码输入不正确");
return false;
}
}
</script>
</head>
<jsp:include flush="true" page="../top.jsp"></jsp:include>
<body>
<center>
<p>注册用户</p>
<html:form action="/user?method=registerUser">
<table width="350" align="center">
<tr><td>用户名:</td><td><html:text property="uname"/><html:errors property="uname"/></td></tr>
<tr>
<td>密码:</td>
<td><html:text property="upass"/><html:errors property="upass"/></td>
</tr>
<tr>
<td>确认密码</td>
<td><html:text property="upass2"/><html:errors property="upass2"/></td>
</tr>
<tr>
<td>呢称:</td>
<td><html:text property="petname"/><html:errors property="petname"/></td>
</tr>
<html:hidden property="levels" value="1"  />
<tr >
<td align="center" colspan="2"><html:submit onclick="pass()">提交</html:submit>&nbsp<html:cancel>取消</html:cancel></td>

</tr>
</table>
</html:form>

解决方案 »

  1.   

    <html:submit onclick="pass()">提交改为<html:submit onclick="return pass()">提交试试
      

  2.   

    <script type="text/javascript"> 
    function pass(){ 
    var p1=userForm.upass.value; 
    var p2=userForm.upass2.value; 
    if(p1!=p2){ 
    alert(p1+"两次密码输入不正确"); 
    return false; 
    }else return true;

    </script> 
      

  3.   

    <script type="text/javascript"> 
    function pass(){ 
    var p1=userForm.upass.value; 
    var p2=userForm.upass2.value; 
    if(p1!=p2){ 
      alert(p1+"两次密码输入不正确"); 
      return false; 

    return true;

    </script>  onclick="return pass()"
      

  4.   

    取消的按钮,直接使用<input type="button"/>看看
      

  5.   

    同意楼上使用 <input type="button"/>
      

  6.   

    用button类型,不用提交submit类型
    <input type="button" value="取消" onclick="要干的事情的function"/>
      

  7.   

    <html:submit onclick="return pass()">原理:return false会阻止客户端提交