如果用户选择了多个复选框,则单击按钮上的验证复选框,如果用户仅选择一个复选框,则应该允许

时间:2013-12-03 05:28:09

标签: javascript onclick

在按钮上单击JavaScript验证应该是:如果用户选择一个复选框,它应该允许进一步处理任何脚本,但是当用户选择多个复选框时,它应该提示“您只能选择一个复选框”< / p>

我没有找到我应该写的javaScript?

<tr><td colspan='2'><input type='checkbox' name='check1' value=12> Q.12 Torronto in located in  ?</td></tr>
<tr><td colspan='2'><input type='checkbox' name='check1' value=4> Q.4 Columbo is the capital of which country ?</td></tr>
<tr><td colspan='2'><input type='checkbox' name='check1' value=16> Q.16 Most used  social suite ?</td></tr>
<tr><td colspan='2'><input type='checkbox' name='check1' value=19> Q.19 Largest State ?</td></tr>

函数调用

<td><input type='submit' type='Edit' value='EDIT' formmethod='post' formaction='/~xyz/cgi-bin/Project/CheckEdit.py' onclick='return(CheckedOne())'></td></tr>

我试过的JS:

function Checked() {

               var d = document.myForm.check1;
               var arr = 0;
               for (var i = 0; i < d.length; i++) {
                   if (d[i].checked) {
                   arr++;
                   alert(arr);
                   }
               }
                  if (arr == 1) return true;
                  else {
                      alert("Please select only one Checkbox");
                      return false;
                  }
          } 

2 个答案:

答案 0 :(得分:0)

jQuery长度将为您提供总复选框

http://jsfiddle.net/yAz2j/

$(".subtn").live('click', function() {

    var total = $('.check1:checked').length;

    if(total > 1) {
        alert(" Checked : "+total);
        // your code
    } else {
        alert("Checked only one!");
    }

    return false;

});

另请查看此帖子:https://stackoverflow.com/a/5594976/1570901

答案 1 :(得分:0)

我认为你可以使用sravis使用jQuery的方法做得更好。

以下是原始代码中的问题: 您在HTML中调用函数CheckedOne,但在JS中使用不同的名称(Checked)。

另外,使用document.getElementsByName('check1');获取 阵列。

请参阅http://jsbin.com/iTiQOFIX/1/