我正在开发一个 JSP 页面,该页面有多个单选按钮,其 ID 为 ans1、ans2、ans3... 等
。单选按钮的数量根据上一页中的响应而变化。用户应该为所有单选按钮选择答案。即用户必须为所有单选按钮 ans1、ans2、ans3 ... 等选择响应。我已经编写了一个用于提交按钮单击事件的 Javascript 代码,如下所示以进行验证并确保用户已响应所有答案:
function beforeSubmit(){
var obj = document.quizcreen;
var qCount = obj.totQuesHidden.value;
for (var i=1; i<=qCount; i++){
if(document.getElementById("ans"+i).checked){
// checked
}else{
alert("Please select ateleast one option"); // unchecked
return false;
}
}
obj.submit();
return true;
}
由于某种原因,上面的代码无法工作。如果未选择所有单选按钮,则不应提交表单。请帮助,我知道这是非常简单且常见的问题,但我无法弄清楚。提前致谢。
以下是表单操作:
<form name="quizcreen" id="quizcreen" method="post" action="QuizResult.jsp" onsubmit = "return beforeSubmit();">
最佳答案
循环中有一个return true
语句。因此,当第一个单选按钮被选中时,它不会检查其他单选按钮。
function beforeSubmit(){
var obj = document.quizcreen;
var qCount = obj.totQuesHidden.value;
var allChecked = true;
for (var i=1; i<=qCount; i++){
if(! document.getElementById("ans"+i).checked){
allChecked = false;
}
}
if(! allChecked){
alert("Please select ateleast one option"); // unchecked
return false
}
obj.submit();
return true;
}
关于javascript - JavaScript 中检查单选按钮的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24605353/