<script type="text/javascript">
  function verify() {
    var id = document.getElementById("id").value;
var pw = document.getElementById("pw").value
if (id == null || id == "") {
    alert("请输入用户Id");
    document.Form[0].id.focus();
    document.all.action.disabled=true;
    return false;
}
if(!/^[0-9]{1,}$/.test(id)) 
{
    alert("请输入正确用户ID(格式:只允许为数字)");
    document.Form[0].id.focus();
    document.all.action.disabled=true;
    return false;
}
if (pw == null || pw == "") {
    alert("请输入密码");
    document.Form[0].password.focus();
    document.all.action.disabled=true;
    return false;
}
return true;
}
  </script>这是我用来验证的Javascript代码
这是form
   <html:form action="/login" focus="id" method="post" onsubmit="javascript:return(verify())">
      <table align="center" border="0">
        <tr>
          <td>用户:</td>
          <td><html:text styleId="id" property="id" /></td>
        </tr>
        <tr>
          <td>密码:</td>
          <td><html:password styleId="pw" property="password" /></td>
        </tr>
        <tr>
          <td colspan="2" align="center"><html:submit " value="登录"/>&nbsp;&nbsp;<html:cancel value="重置"/></td>
        </tr>
      </table>
    </html:form>  但是提交后虽然相应的错误信息提示了,但是form仍然提交了。
请高手帮忙,我怎么才能让出错后不提交
  

解决方案 »

  1.   

    用 button onclick="verify();"
      

  2.   

    你用了submit的话,就一定会提交,
    你可以用button来做,然后用JS来执行submit提交。
    可以在JS的最后面加入此代码
    document.forms[0].submit();
      

  3.   

    这样就好使了。  
     <html:form action="/login" method="post" onsubmit="javascript:return(verify())">
          <table align="center" border="0">
            <tr>
              <td>用户:</td>
              <td><html:text style="width:150px;" styleId="id" property="id" /></td>
            </tr>
            <tr>
              <td>密码:</td>
              <td><html:password style="width:150px;" styleId="pw" property="password" /></td>
            </tr>
            <tr>
              <td colspan="2" align="center"><html:submit value="登录"/>&nbsp; <html:reset value="重置" /></td>
            </tr>
          </table>
        </html:form>   
    不知道怎么回事,可能没及时更新吧。
    同时,谢谢各位的回答……