如果javascript中文本输入中的条件为true,则停用复选框

Deactivate checkbox if a condition in a text input is true in javascript

本文关键字:true 复选框 条件 中文 javascript 文本 输入 如果      更新时间:2023-09-26

我有几个文本输入和一个复选框数组。如果文本输入的值小于6,则取消激活复选框。我尝试过,但复选框始终处于启用状态。

<script>
    function desactivacasillas() {
        var formularioprincipal = document.getElementById("troncocomun");
        var primerelemento = document.getElementById("1").value;
        if (document.getElementById("1").value < 6) {
            var checkbox1 = document.getElementById("checkbox1").disabled = true;
        }
    }
</script>
<table>
    <tr>
        <td nowrap id="materia">ALGEBRA</td>
        <td>5.62</td>
        <td>
            <input type="text" id="1" name="1" onkeydown="return validarnumero(event)" onkeypress="return compruebacampo(event,this)" onkeyup="desactivacasillas(event)">
        </td>
        <td>
            <input type="hidden" name="carga[0]" id="checkbox1" value="0">
            <input type="checkbox" name="carga[0]" id="checkbox1" value="5.62">
        </td>
    </tr>
</table>

你能告诉我我做错了什么吗?

试试这个

  <!DOCTYPE html>
<html>
 <head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
 </script>

 <script>
 function desactivacasillas(args) {

 if (document.getElementById("1").value.length < 6) {
 $("#checkbox2").attr("disabled", true);
 }
 else
 {
 $("#checkbox2").attr("disabled", false);
 }
}
</script>
<table>
 <tr>
 <td nowrap id="materia">ALGEBRA</td>
 <td>5.62</td>
 <td>
     <input type="text" id="1" name="1" onkeyup="desactivacasillas(this.value)">
 </td>
 <td>
     <input type="hidden" name="carga[0]" id="checkbox1" value="0">
    <input type="checkbox" name="carga[0]" id="checkbox2" value="5.62">
   </td>
  </tr>
 </table>

   </body>
 </html>

如果你不理解上面的程序,可以问任何问题。

使ID唯一。以下是我尝试过的

<script>
    function desactivacasillas() {
        var formularioprincipal = document.getElementById("troncocomun");
        var primerelemento = document.getElementById("1").value;
        if (document.getElementById("1").value < 6) {
            var checkbox1 = document.getElementById("checkbox2");
           checkbox1.disabled = true;
        }
    }
</script>
<table>
    <tr>
        <td nowrap id="materia">ALGEBRA</td>
        <td>5.62</td>
        <td>
            <input type="text" id="1" name="1" value="6" onkeydown="return 
validarnumero(event)" onkeypress="return compruebacampo(event,this)" 
onkeyup="desactivacasillas(event)">
        </td>
        <td>
            <input type="hidden" name="carga[0]" id="checkbox1" value="0">
            <input type="checkbox" name="carga[0]" id="checkbox2" value="5.62">
        </td>
    </tr>
</table>

试试这个。使用java脚本中的on-load函数可以在加载时禁用复选框。并使用parse Int函数,因为输入以字符串形式返回值。

更改复选框的ID。ID总是唯一的。

<script>
    function disableCheckbox(){
        document.getElementById("checkbox2").disabled = true;
    }
    function desactivacasillas() {
        var formularioprincipal = document.getElementById("troncocomun");
        var primerelemento = document.getElementById("1").value;
        if (parseInt(document.getElementById("1").value,10) > 6) {
            document.getElementById("checkbox2").disabled = false;
        }
    }
</script>
<body onload="disableCheckbox();">
    <table>
        <tr>
            <td nowrap id="materia">ALGEBRA</td>
            <td>5.62</td>
            <td>
                <input type="text" id="1" name="1" onkeyup="desactivacasillas(event)">
            </td>
            <td>
                <input type="hidden" name="carga[0]" id="checkbox1" value="0">
                <input type="checkbox" name="carga[0]" id="checkbox2" value="5.62">
            </td>
        </tr>
    </table>
</body>