例:下面这段验证代码,我在输入框里输入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>
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>
你这样比默认比的是字符啊,所以他只会一个字符一个字符比,比如6和50谁大,当然是第一次比的6和5,显然是6比5大。
所以你应该先转换下,这么写就可以了~
Number(document.form1.shu.value) > Number(document.form1.zhi.value)
if (parseInt(document.Form1.shu.value,10)> parseInt(document.Form1.zhi.value,10))