javascript - JavaScript 中检查单选按钮的问题

标签 javascript html radio-button

我正在开发一个 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/

相关文章:

javascript - 根据服务器响应设置复选框

javascript - 从字符串中获取对象的值

javascript - Thymeleaf 值发送 angularJS ng-onclick 方法

javascript - 通过将 css id 和 class 传递给 jquery 方法动态创建 div

html - CSS - 删除垂直容器边框

html - 使用单选标签显示标签上方的内容 - 仅限 CSS?

javascript - jQuery : XML - Reading child nodes from a specific node

用于验证特殊字符串的 Javascript 正则表达式

php - 无法获取 Radio 元素的值

javascript - 选择带有警报的多个单选按钮