【发布时间】:2021-10-10 01:39:34
【问题描述】:
我有一个包含 5 个问题的表单,每次向用户显示一个问题,就像测验一样。问题 1 使用输入 type="radio"。我想知道是否有办法不必为每个输入调用函数checkObjective(),从而避免重复。
我当前的代码正在运行,就是这样:
<form class="questions_box formulario" action="enviar-landing-page-v3.php" method="post">
<div id="question-1">
<h3>The question is: ... ?</h3>
<input type="radio" name="objetivo" id="question-1-answer-a" value="1" required oninput="checkObjective()" /> Answer 1.<br />
<input type="radio" name="objetivo" id="question-1-answer-b" value="2" oninput="checkObjective()" /> Answer 2.<br />
<input type="radio" name="objetivo" id="question-1-answer-c" value="3" oninput="checkObjective()" /> Answer 3.<br />
<div class="text-end mt-3">
<input type="submit" id="submit1" class="btn btn-primary btn-lg" value="Enviar Resposta" style="display: none;" />
</div>
<script type="text/javascript">
function checkObjective() {
if (document.getElementsByName("objetivo").value == "") {
document.getElementById("submit1").style.display = "none";
} else {
document.getElementById("submit1").style.display = "block";
}
}
</script>
</div>
</form>
【问题讨论】:
-
您可以给所有收音机一个类,只需在类中添加一个
eventListener,以避免在每个收音机上都使用oninput="checkObjective()" -
只删除你不想调用的 oninput 吗?
标签: javascript html input radio