Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何提交表单使用java脚本仅选中一个复选框_Javascript - Fatal编程技术网

Javascript 如何提交表单使用java脚本仅选中一个复选框

Javascript 如何提交表单使用java脚本仅选中一个复选框,javascript,Javascript,在“编辑”按钮上,仅当选中一个复选框时,单击要提交的表单;当选中0个或多个复选框时,不提交 我下面的代码不起作用 $("#editbtn_id").click(function () { var cnt = 0; var checkbox_value = ""; $(":checkbox").each(function () { var ischecked = $(this).is(":checked"); }); if (ischeck

在“编辑”按钮上,仅当选中一个复选框时,单击要提交的表单;当选中0个或多个复选框时,不提交

我下面的代码不起作用

$("#editbtn_id").click(function () {
    var cnt = 0;
    var checkbox_value = "";
    $(":checkbox").each(function () {
        var ischecked = $(this).is(":checked");
    });

    if (ischecked) {
        checkbox_value += $(this).val();
        cnt = cnt + 1;


        if (cnt == 0 || cnt > 1) {
            alert(cnt);
            alert("Please select one Test case");
            return false;
        }
    }
    return false;
});
HTML

<form action="/editSingletest/{{ testcase.id }}" method="post" onsubmit="return" >
<input type="checkbox"/>
</form>

您的计数器处于错误的循环中,应该是这样的:

$("#editbtn_id").click(function(){
       var cnt=0;
       var checkbox_value = "";
       $(":checkbox").each(function () {
          var ischecked = $(this).is(":checked");
          if (ischecked){
                checkbox_value += $(this).val();
                cnt=cnt + 1 ;
          }
        });



        if(cnt==0 || cnt > 1){ ... }    

});

您可以通过以下代码实现这一点

$("#editbtn_id").click(function(){
 var cnt=0;
 var checkbox_checked_count = 0;
 var form_submit = false;
   $(":checkbox").each(function () {
       if($(this).is(":checked")) {
         checkbox_checked_count++
       }
    });
if(checkbox_checked_count == 1) {
    form_submit = true;
}
else if(checkbox_checked_count > 1) {
 alert("Please select one Test case");
}
alert(form_submit)
$("form").submit();    
});
请在此检查工作示例,试试这个

$("#editbtn_id").click(function (e) {
    if($('form input[type="checkbox"]:checked').length == 1){
        $('form').submit();
    }
    else{
        e.preventDefault();
    }
});

对于“表单”,请使用表单选择器

这不是答案,但看起来您实际上需要单选按钮。“…选中2个以上复选框…”这意味着2个就可以了?题目似乎与你的要求一致?