Javascript document.getElementsByName(";q1";).disabled=true不工作
我试图禁用名为Javascript document.getElementsByName(";q1";).disabled=true不工作,javascript,Javascript,我试图禁用名为“q1”的输入,但它只是不禁用它们 这行代码只是 if (time < 0){ document.getElementById("lose").innerHTML = "O tempo acabou!"; document.getElementById("nextQuestion").style.display = "block" document.getElementsByName("q1").disabled = true } document.
“q1”
的输入,但它只是不禁用它们
这行代码只是
if (time < 0){
document.getElementById("lose").innerHTML = "O tempo acabou!";
document.getElementById("nextQuestion").style.display = "block"
document.getElementsByName("q1").disabled = true
}
document.getElementsByName
返回一个数组,有点像数组。您需要遍历它并禁用每个元素
将包含名称为q1
的所有元素,下面的代码(特别是循环)将禁用名称为q1
的每个元素
time=-1;
如果(时间<0){
document.getElementById(“lose”).innerHTML=“O tempo acabou!”;
document.getElementById(“nextQuestion”).style.display=“block”
document.getElementsByName(“q1”).forEach(e=>{
e、 禁用=真;
});
}
getElementsByName
返回集合。也许您的意思是document.getElementsByName(“q1”)[0]。禁用的?document.getElementsByName(“q1”)返回名为q1的元素列表,因此您应该循环和禁用您有许多名为“q1”的输入,因此您可能应该使它们各自唯一。或者获取适当的indexOh,我不知道它返回了一个列表,我希望它只是禁用它们。谢谢foreach循环中的e是q1的每个元素,对吗?@DuarteArribas是的。在foreach循环中,我们通常使用元素
来表示它就是元素。我已经开始使用e
,它更容易键入,但含义相同
<br><br><input type="submit" name="q1" value="arroz">
<input type="submit" name="q1" value="massa"><br><br>
<input type="submit" name="q1" value="Apanhado em flagrante">
<input type="submit" name="q1" value="batata de tremoços"><br><br><br>`