【问题标题】:Javascript validate all radio buttons if checked如果选中,Javascript 将验证所有单选按钮
【发布时间】:2013-11-03 07:37:22
【问题描述】:

我在 javascript 方面太笨了,我想请教你关于单选按钮验证的帮助。我有 3 组问题,每组有 3 个单选按钮。我想验证是否所有 3 个问题都已得到回答或检查。

提前致谢

这是我测试过的代码,它只验证 1 个单选按钮

<script type="text/javascript">
function validateForm() {
    var radios = document.querySelectorAll("#option1, #option2, #option3, #option4, #option5, #option6");
    var formValid = false;

    var i = 0;
    while (!formValid && i < radios.length) {
        if (radios[i].checked) formValid = true;
        i++;        
    }

    if (!formValid) alert("Must check some option!");
    return formValid;
}
</script>

【问题讨论】:

标签: validation radio-button


【解决方案1】:

试试这个对我有用

    <script type="text/javascript">
         function  validateForm(){
           var inputs = document.querySelectorAll("#option1,#option2,#option3,#option4,#option5,#option6")
           var  formValid  = false;
           for(var i=0;i<inputs.length;i++){
               if(inputs[i].checked){
                   formValid  = true;
                }
           }
          if(!formValid ){
               alert("Must check some option!");
           }
       }
   </script>

html代码

 <body>    
    <form name="frm">        
            Question 1<br>
            <input type="radio" name="group1" value="Ans1" id="option1">Ans1<br>
            <input type="radio" name="group1" value="Ans2" id="option2">Ans2<br>
            Question 2<br>
            <input type="radio" name="group2" value="Ans1" id="option3">Ans1<br>
            <input type="radio" name="group2" value="Ans2" id="option4">Ans2<br>
            Question 3<br>
            <input type="radio" name="group3" value="Ans1" id="option5">Ans1<br>
            <input type="radio" name="group3" value="Ans2" id="option6">Ans2<br>

        <input type="submit" value="Test" onclick="validateForm();" />
    </form>
</body>

【讨论】:

  • 感谢您的回复,但代码仍然只验证一个单选按钮。
  • 在我的机器上验证所有单选按钮尝试使用 var inputs = document.querySelectorAll("input[type=radio]")
  • 谢谢苏米特!寻求帮助,但是当我尝试选择一个时,它会验证表单,如果我选择 1 out of 3 单选按钮,则会提示消息警报,如果 2 out of 3,也会提示消息。我必须选择 3 个单选按钮,以便它可以处理表单操作。
  • 我已经解决了这个问题,我使用了 jquery 和这段代码 $('div.question:not(:has(:radio:checked))') 感谢您的帮助
【解决方案2】:

我已经用这段代码 if ($('div.quizbox:not(:has(:radio:checked))').length) { alert("You missed answering one or more of the questions."); }解决了问题

【讨论】:

  • 超级有用。注意:这是 jQuery,但不是普通的 Javascript。
猜你喜欢
  • 2012-05-07
  • 1970-01-01
  • 2011-11-27
  • 2011-06-26
  • 2013-01-08
  • 1970-01-01
  • 2018-02-19
  • 2012-05-12
  • 2013-02-01
相关资源
最近更新 更多