如何计算所选的无线电盒数量并进行验证?

时间:2012-07-13 16:36:10

标签: javascript validation

所以这就是我的代码所做的:

它显示10组单选按钮,每组有2个选项。 (总共20个单选按钮)。 10套都有不同的名字,但是在同一个形式。一个人只能从10中选择5个按钮。我有一段代码,一旦选择了5,就会禁用单选按钮。现在我想阻止人们提交表格,如果选择了4个或更少的按钮。

以下是代码示例:

HTML:

 <form method="post" action="index.php" name="buttons" onsubmit="return Validation()">
 <input type="radio" id="button" value="first_button" name="1" />
 <input type="radio" id="button" value="second_button" name="1" />
 <input type="radio" id="button" value="first_button" name="2" />
 <input type="radio" id="button" value="second_button" name="2" />
 <input type="radio" id="button" value="first_button" name="3" />
 <input type="radio" id="button" value="second_button" name="3" />
 <input type="radio" id="button" value="first_button" name="4" />
 <input type="radio" id="button" value="second_button" name="4" />
 <input type="radio" id="button" value="first_button" name="5" />
 <input type="radio" id="button" value="second_button" name="5" />
 <input type="radio" id="button" value="first_button" name="6" />
 <input type="radio" id="button" value="second_button" name="6" />
 <input type="radio" id="button" value="first_button" name="7" />
 <input type="radio" id="button" value="second_button" name="7" />
 <input type="radio" id="button" value="first_button" name="8" />
 <input type="radio" id="button" value="second_button" name="9" />
 <input type="radio" id="button" value="first_button" name="9" />
 <input type="radio" id="button" value="second_button" name="9" />
 <input type="radio" id="button" value="first_button" name="10" />
 <input type="radio" id="button" value="second_button" name="10" />
 </form>

JAVASCRIPT

 function Validation()
 {
 var bol2 = $("input:radio:checked").length;
 if (bol2<=4)
   {
   alert("Please select 5 buttons");
   return false;
   }
 }

代码现在有效。谢谢@Climbage,我查看了其他代码并想出了要做什么

2 个答案:

答案 0 :(得分:3)

试试这个 - http://jsfiddle.net/BeT4h/

<form method="post" action="index.php" name="buttons" id="form">

<script>
function showTime() {
    var inputs = document.getElementById("form").elements;
    var count  = 0;
    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].type == 'radio' && inputs[i].checked) {
            count++;
        }
    }
    alert(count);
}
</script>

答案 1 :(得分:0)

默认情况下只需检查其中的5个。 为每个其他输入添加check='checked'。放入所有first_button或second_button。