Javascript 如何使文本输入框在单击复选框时变为不可写?

Javascript 如何使文本输入框在单击复选框时变为不可写?,javascript,input,Javascript,Input,在我的网站上,用户可以输入自己的姓名,但也可以单击复选框以匿名方式发布。我不太擅长JS,所以有谁能指导我这样做吗?当点击复选框时,用户将无法在名称输入字段中写入?谢谢。您想切换输入元素的'disabled'属性,例如 var input = document.getElementById('theInput') input.disabled = !input.disabled; 将其添加到复选框的更改事件中,您就可以开始了 编辑:为了确保它能正常工作,我在一个文件夹中快速启动了它。函数切换只读

在我的网站上,用户可以输入自己的姓名,但也可以单击复选框以匿名方式发布。我不太擅长JS,所以有谁能指导我这样做吗?当点击复选框时,用户将无法在名称输入字段中写入?谢谢。

您想切换
输入
元素的
'disabled'
属性,例如

var input = document.getElementById('theInput')
input.disabled = !input.disabled;
将其添加到
复选框的更改事件中,您就可以开始了

编辑:为了确保它能正常工作,我在一个文件夹中快速启动了它。

函数切换只读(元素){
function toggleReadonly(element) {
    var inputName = document.getElementById('inputName');
    if(element.checked) {
        inputName.setAttribute('readonly', true);
    }
    else {
        inputName.removeAttribute('readonly');
    }
}

<input type='text' id="inputName"/>
<input type='checkbox' onclick='toggleReadonly(this)'/>
var inputName=document.getElementById('inputName'); 如果(元素已选中){ inputName.setAttribute('readonly',true); } 否则{ inputName.removeAttribute('readonly'); } }

您可以看到它正在工作,非常感谢!然而,出于某种原因,当我把它放在我的页面上时,它不工作了?你知道为什么吗?你在页面上放了什么?我把你在JSFIDLE中列出的JS代码放在标记之间,然后把id添加到输入标记中。