Javascript 如何提交表单使用java脚本仅选中一个复选框
在“编辑”按钮上,仅当选中一个复选框时,单击要提交的表单;当选中0个或多个复选框时,不提交 我下面的代码不起作用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
$("#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个就可以了?题目似乎与你的要求一致?