form表单: 
<form action="userinfor_do.jsp" name="userinfor" method="POST">
    <table width="99%" border="0" cellpadding="0" cellspacing="0" bordercolor="#cccccc" rules="all" id="DataGrid1">
    <tr>
         <td>邮政编码:<input name="postalcode" class="input" size="12"/>
         </td>
         <td>........
         </td>
         <td>........
         </td>
         <td>
           <img border="0" src="images/next.gif" onclick="validate();"/>
         </td>
    </tr>
   </table>
 </form>脚本验证:
<script language="javascript">
    function validate(){
       if(document.userinfor.postalcode.value>6){
          alert('数字不能大于6位');
          document.userinfor.postalcode.focus();
          return false;
       }   
    }
</script>
         
上面的脚本我是要验证如果邮政编码大于6位数就弹出一个对话框,返回一个false.但是它还是进入了下一个页面,这不知是为什么?请大家帮我好好看看,在线等.

解决方案 »

  1.   

    onclick="validate(); "  改为onclick="return validate();"
      

  2.   

    document.userinfor.postalcode.value>6改成document.userinfor.postalcode.value.length>6或者:<input name="postalcode" class="input" size="12" maxlength="6"/>
      

  3.   

    <input name="postalcode" class="input" size="12" maxlength="6" onkeyup='this.value=this.value.replace(/\D/gi,"")'/>
    只能输入数字onkeyup='this.value=this.value.replace(/\D/gi,"")'
      

  4.   

    hellen_cap(hellen) ( ) 信誉:100    Blog 
    <input name="postalcode" class="input" size="12" maxlength="6" onkeyup='this.value=this.value.replace(/\D/gi,"")'/>
    只能输入数字onkeyup='this.value=this.value.replace(/\D/gi,"")'这个方法我早就用过了,但是现在我的主要目的是想只能让他输入6位数.maxlength="6"现在可以限制输入大于6位数,如果小于6位也想判断出来.
      

  5.   

    那你
    function validate(){
           if(document.userinfor.postalcode.value.length<6){
              alert('数字不能小于6位');
              document.userinfor.postalcode.focus();
              return false;
           }   
        }
    不就行了。
      

  6.   

    就是不行咯,它返回的不是false, 而老是转到了下一页.
      

  7.   

    你的错在于value后面少了.length,没有length你怎么判断它是小于还是大于啊,按我说的就没错了,结贴
      

  8.   

    onClick="return validate()"再不然把错误信息点出来,看看是哪行的错。
    呵呵。我今天是闲着没事干。再不就把validate换个名称,如果validate是关键字也会出错的
      

  9.   

    你再试试
    把顺序调一下function validate(){
           if(document.userinfor.postalcode.value.length<6){
            document.userinfor.postalcode.focus();
              alert('数字不能小于6位');
             return false;
           }   
        }
      

  10.   

    if(document.all("faultName").value.length)
      

  11.   

    把validate移到form的onsubmit上去
      

  12.   

    function validate(){
           if(document.userinfor.postalcode.value.length<6){
            document.userinfor.postalcode.focus();
              alert('数字不能小于6位');
             return false;
           }   
            return true;
        }
    onclick="validate(); "  改为onclick="return validate();"
    再不行就可以砸机器了!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  13.   

    呵呵应该把<img border="0" src="images/next.gif" onclick="validate();"/>这句改成
    <input type="image" src="images/next.gif" onclick="return validate();"/>