Javascript 在所使用的元素中,只有一个选定元素正在工作

Javascript 在所使用的元素中,只有一个选定元素正在工作,javascript,switch-statement,dom-events,Javascript,Switch Statement,Dom Events,我使用DOM选择了元素。一个输入type=“text”和一些输入type=“radio”。我希望能够输入答案或单击上述元素,并在单击(提交)按钮时获得代码块以运行代码 请帮忙!我尝试过,但没有找到解决这个问题的办法 //Images, button and empty div let regImage = document.getElementById("img1"); let correctImage = document.getElementById("img2"); let incorre

我使用
DOM
选择了元素。一个输入
type=“text”
和一些输入
type=“radio”
。我希望能够输入答案或单击上述元素,并在单击(提交)按钮时获得代码块以运行代码

请帮忙!我尝试过,但没有找到解决这个问题的办法

//Images, button and empty div
let regImage = document.getElementById("img1");
let correctImage = document.getElementById("img2");
let incorrectImage = document.getElementById("img3");
let passedImage = document.getElementById("img4");
let failedImage = document.getElementById("img5");
let resultBox = document.getElementById("result-box");
let submitButton = document.querySelector("#submit");


//this is the <input type="text">
let q1 = document.querySelector("#text-field");

//these are radio buttons <input type="radio">
let answerOne = document.querySelector("#q2-answer1");
let answerTwo = document.querySelector("#q2-answer2");
let answerThree = document.querySelector("#q3-answer1");
let answerFour = document.querySelector("#q3-answer2");

submitButton.addEventListener("click", function() {
  let clicked = false;
  switch(clicked === false) {
    case q1.value === "1950" || answerOne || answerThree:
      regImage.style.display = "none";
      correctImage.style.visibility = "visible";
      resultBox.textContent = "1 Correct";
    break;
  }
})
//图像、按钮和空div
让regImage=document.getElementById(“img1”);
让correctImage=document.getElementById(“img2”);
let incorrectImage=document.getElementById(“img3”);
让passedImage=document.getElementById(“img4”);
让failedImage=document.getElementById(“img5”);
让resultBox=document.getElementById(“结果框”);
让submitButton=document.querySelector(“提交”);
//这是
设q1=document.querySelector(“#文本字段”);
//这些是单选按钮
设answerOne=document.querySelector(“q2-answer1”);
设answerTwo=document.querySelector(“q2-answer2”);
设answerThree=document.querySelector(#q3-answer1”);
设answerFour=document.querySelector(#q3-answer2”);
addEventListener(“单击”,函数(){
let=false;
开关(单击===错误){
案例q1.value==“1950”|答案一| |答案三:
regImage.style.display=“无”;
correctImage.style.visibility=“可见”;
resultBox.textContent=“1正确”;
打破
}
})

q1.value运行良好,但当选择(answerOne)和(answerThree)并单击提交按钮时,不会发生任何事情。

使用
开关
,因为这是不合适的。对于多种情况,只需使用正常的
if
else if

代码的问题在于您没有测试单选按钮是否被选中

if (q1.value == "1950" || answerOne.checked || answerThree.checked) {
    regImage.style.display = "none";
    correctImage.style.visibility = "visible";
    resultBox.textContent = "1 Correct";
}

当单击answerOne或answerThree时,F12>控制台是否显示任何错误消息?使用单个
案例的
开关的意义是什么?另外,
开关
不是
如果
,则代码中的
大小写
真值
比较。看看是如何工作的。你所说的
案例q1.value==“1950”| | answerOne | | answerThree:
是什么意思
answerOne
answerThree
是DOM元素,它们总是真实的(除非这些元素不存在)。也许你的意思是
case q1.value==“1950”| | answerOne.checked | | answerThree.checked:
?不,单击它们时没有错误消息。嘿,谢谢你!在此之前,我不知道这个(.checked)属性。我的代码现在可以工作了。