例:下面这段验证代码,我在输入框里输入6,7,8,9就会触发js函数,输入20,30什么的都正常,这是怎么回事啊?<script language="javascript">
  function kb()
  {
    if (document.form.shu.value > document.form.zhi.value)
    {
      alert("错了");
      document.form.shu.focus();
      return false;
    }
  }
</script><form name="form" action="#" onsubmit="return kb()">
  <input type="text" name="shu" >
  <input type="hidden" name="zhi" value="50">
  <input type="submit" value="提交">
</form>

解决方案 »

  1.   

    document.form.shu.value > document.form.zhi.value
    你这样比默认比的是字符啊,所以他只会一个字符一个字符比,比如6和50谁大,当然是第一次比的6和5,显然是6比5大。
    所以你应该先转换下,这么写就可以了~
    Number(document.form1.shu.value) > Number(document.form1.zhi.value)
      

  2.   

    if (parseInt(document.Form1.shu.value)> document.Form1.zhi.value) 
      

  3.   


    if (parseInt(document.Form1.shu.value,10)> parseInt(document.Form1.zhi.value,10))
      

  4.   

    if (parseInt(document.Form1.shu.value)> parseInt(document.Form1.zhi.value))