开发者问题收集

如何访问单选按钮的值

2018-06-03
66

我尝试使用 HTML 和 Javascript 访问单选按钮的值以进行简单的测验,但似乎不起作用。这是我的代码:

function check() {
var a = document.getElementById("test").value
if (a === "one") {
alert("Correct!")
} else {
alert("Wrong!")
}
}
<h1><center>Simple Quiz</center></h1>
<br>
1) What is 1 + 1?
<br>
<form>
  <input type="radio" name="one" id="test" value="one">1<br>
  <input type="radio" name="one" id="test" value="two">2<br>
  <input type="radio" name="one" id="test" value="three">3<br>
  <button onclick="check()">Check</button>
</form>

即使不正确,它总是显示“正确!”。有人知道如何解决这个问题吗?

3个回答

您遗漏了一些要点:

  • 整个页面上的 ID 必须是 唯一的
  • 要检查单选按钮是否被选中,请使用其 checked 属性
function check() {
  var two = document.getElementById("two");
  if (two.checked) {
    alert("Correct!")
  } else {
    alert("Wrong!")
  }
}
<h1>
  <center>Simple Quiz</center>
</h1>
<br> 1) What is 1 + 1?
<br>
<form>
  <input type="radio" name="one" id="one" value="one">1<br>
  <input type="radio" name="one" id="two" value="two">2<br>
  <input type="radio" name="one" id="three" value="three">3<br>
  <button onclick="check()">Check</button>
</form>
CodeF0x
2018-06-03

首先,您不能在多个元素上具有相同的 id 。使您的元素成为唯一的 id ,如果您需要给它们所有相同的样式,则可以使用 class 代替。

而不是检查 广播按钮的值,您应该检查单选按钮是否为 检查

请看下面的示例。

<代码> 695872641
Milos Lazarevic
2018-06-03

您不应该定义多个具有相同 id 的元素,这是一种不好的做法,您可以改进您的代码 function check() { for (elemnt of document.getElementByClassName('test') ) { if (element.checked ) alert('correct'); else alert ("incrrect");}> 您可以在 html 中执行此操作 <input type="radio" class="test" value="1">

<input type="radio" class="test" value="2"> <input type="radio" class="test" value="3">

juancarlos
2018-06-03