Javascript 基于复选框选中状态启用或禁用目标元素

Javascript 基于复选框选中状态启用或禁用目标元素,javascript,html,Javascript,Html,我基本上是JavaScript新手,我一直在努力解决我的这个问题。所以,我正在做JS学校项目,我需要在复选框和文本表单之间建立连接。如果未选中复选框,则应禁用文本表单,反之亦然。这是我写的一段代码: function cbtf() { if (document.getElementById('checkbox').checked==false) { document.getElementById('textform').disabled=true; } } 有人

我基本上是JavaScript新手,我一直在努力解决我的这个问题。所以,我正在做JS学校项目,我需要在复选框和文本表单之间建立连接。如果未选中复选框,则应禁用文本表单,反之亦然。这是我写的一段代码:

function cbtf() {
    if (document.getElementById('checkbox').checked==false) {
        document.getElementById('textform').disabled=true;
    }
}

有人能写新代码吗?这将是一个很大的帮助。

除非将事件附加到
复选框中,否则无法使其工作,因此我建议如下:

var textbox = document.getElementById('textform');
var checkbox = document.getElementById('checkbox');

checkbox.addEventListener("change", function() {
    if (checkbox.checked) {
        textbox.disabled = false;
    } else {
        textbox.disabled = true;
    }
})

只需将一个方法附加到复选框的onclick处理程序:

功能启用元素(id,启用){
document.getElementById(id).disabled=!enable;
}

使可能

这是ID为“textform”的TEXTAREA
您可以将单击事件添加到复选框中,并将其选中状态指定给文本框的disabled属性

document.querySelector('input[type=checkbox])。onclick=function(e){
document.querySelector('input[type=text]')。disabled=e.target.checked;
};


它起作用了吗?如果没有,发生了什么?HTML在哪里?请更详细地说明您的问题-包括示例和您所做的事情,以便其他人可以帮助您。@Terry-为什么要删除代码片段?Tako更新您的问题可能想听听
输入
更改
事件;)此外,如果复选框是一个切换,那么如果未选中,则需要添加一个
else
语句(重新启用文本框)。这很有效,非常感谢