通过验证文本框值复选框应该被禁用

时间:2014-01-24 13:48:20

标签: javascript html

我有一个文本框和一个复选框。

我想要的是,当我在文本框中输入值并且值小于999时,复选框应该被禁用。

以下是HTML和javascript代码,但它没有按预期工作。请帮我解决这个问题。

HTML

<input name="lgnum" id="lgn" type="text" onChange="validateLoadGroupNumber()"/>
<input type="checkbox" id="field1" name="faAccount" />

的Javascript

  var loadGroupNumber="0";
    loadGroupNumber=document.getElementById("lgn").value;
    alert("LGN:"+loadGroupNumber);
    if(loadGroupNumber < "900")
    {
    document.getElementById("field1").disabled=true;

    }

1 个答案:

答案 0 :(得分:0)

您的代码中有一些不正确的内容:

  • 比较数字与比较字符串
  • 不同
  • ID为“1”的元素不存在
  • 函数validateLoadGroupNumber(obj)不会退出

HTML建议:

<input name="lgnum" id="lgn" type="text" onkeydown="validateLoadGroupNumber(this)"/>
<input type="checkbox" id="field1" name="faAccount" />

这个javascript代码应该更好用:

<script language="JavaScript">
function validateLoadGroupNumber(obj){
try {
    if(parseInt(obj.value, 10) < 999){
        document.getElementById("field1").disabled=true;
    }
    else{
        document.getElementById("field1").disabled=false;
    }
}
catch(exc){
    alert("only numbers pls");
}
}
</script>