Javascript 在一个人选中3个复选框后,如何使按钮解锁?

Javascript 在一个人选中3个复选框后,如何使按钮解锁?,javascript,html,Javascript,Html,我的网站上有3个复选框,还有一个按钮,用于提交问题的答案。如何使按钮在默认情况下处于禁用状态,并且只有在该人员选中3个复选框后才能解除禁用?我尝试实现一个IF语句,但即使一个人在每个复选框上至少选中了一个答案,它仍然会被禁用。以下是我代码的一部分: 为什么我的IF语句不起作用?提前谢谢 const colorbind=document.getElementById(“colorbindoptions”); const soundyes=document.getElementById(“soun

我的网站上有3个复选框,还有一个
按钮
,用于提交问题的答案。如何使按钮在默认情况下处于禁用状态,并且只有在该人员选中3个
复选框后才能解除禁用?我尝试实现一个IF语句,但即使一个人在每个复选框上至少选中了一个答案,它仍然会被禁用。以下是我代码的一部分:

为什么我的IF语句不起作用?提前谢谢

const colorbind=document.getElementById(“colorbindoptions”);
const soundyes=document.getElementById(“soundyes”);
const soundno=document.getElementById(“soundno”);
const biglettersyes=document.getElementById(“biglettersyes”);
const biglettersno=document.getElementById(“biglettersno”);
const explanationyes=document.getElementById(“explanationyes”);
const explanationno=document.getElementById(“explanationno”);
const submit=document.getElementById(“提交”);
const table=document.getElementById(“settingstable”);
const buttondiv=document.getElementById(“buttondiv”);
const everythingdiv=document.getElementById(“一切”);
如果((soundyes.checked==true | | | soundno.checked==true | | | | bigletsyes.checked==true)和&(explanationyes.checked==true | | explanationno.checked==true)){
submit.disabled=false;
}
否则{
submit.disabled=true;
}

设置
对
不
我不是色盲
色盲
单色盲
半翅目
三盲

你想要声音吗?

你想要大写字母吗?

你想要关于图片的解释吗?

提交
您有一段代码,上面写着“如果选中了三个输入,请启用提交按钮”。我们可以通过将此代码粘贴到函数中(称为
checksubmitabled
)并在每次单击时调用该函数来获得所需的结果

const soundyes=document.getElementById(“soundyes”);
const soundno=document.getElementById(“soundno”);
const biglettersyes=document.getElementById(“biglettersyes”);
const biglettersno=document.getElementById(“biglettersno”);
const explanationyes=document.getElementById(“explanationyes”);
const explanationno=document.getElementById(“explanationno”);
const submit=document.getElementById(“提交”);
const table=document.getElementById(“settingstable”);
const buttondiv=document.getElementById(“buttondiv”);
const everythingdiv=document.getElementById(“一切”);
让checkSubmitEnabled=()=>{
设为enabled=true
&&(soundyes.checked==true | | soundno.checked==true)
&&(biglettersyes.checked==true | | biglettersno.checked==true)
&&(explanationyes.checked==true | | explanationno.checked==true);
submit.disabled=!enabled;
};
soundyes.addEventListener('input',checkSubmitEnabled);
biglettersyes.addEventListener('input',checkSubmitEnabled);
解释是。addEventListener('input',checkSubmitEnabled);
soundno.addEventListener('input',checkSubmitEnabled);
biglettersno.addEventListener('input',checkSubmitEnabled);
解释编号addEventListener('input',checkSubmitEnabled);
//运行函数以获取初始状态
checksubmitabled()

设置
对
不
我不是色盲
色盲
单色盲
半翅目
三盲

您想要声音吗

您想要大写字母吗

您想要图片的解释吗

提交
不是答案。但您应该使用输入名称检查复选框是否已选中。这应该行得通

var checkedSound = [...document.getElementsByName("sound")].some(c=>c.checked);
var checkedBigletters = [...document.getElementsByName("bigletters")].some(c=>c.checked);
var checkedExplanation = [...document.getElementsByName("explanation")].some(c=>c.checked);

// if all true then enable button

将其环绕在一个div上,并在默认情况下将按钮设置为disabled,然后使用事件侦听器触发操作

const soundyes=document.getElementById(“soundyes”);
const soundno=document.getElementById(“soundno”);
const biglettersyes=document.getElementById(“biglettersyes”);
const biglettersno=document.getElementById(“biglettersno”);
const explanationyes=document.getElementById(“explanationyes”);
const explanationno=document.getElementById(“explanationno”);
const radio=document.getElementById(“radio”)
const submit=docume