Php 表单未随复选框数组一起提交
虽然下面的函数有一个小问题。但是我找不到。每次选中或不选中复选框,但表单未提交Php 表单未随复选框数组一起提交,php,jquery,codeigniter,Php,Jquery,Codeigniter,虽然下面的函数有一个小问题。但是我找不到。每次选中或不选中复选框,但表单未提交 <input type="checkbox" name="chk_user[]" value="1" class="chk_delete" id="1" /> <input type="checkbox" name="chk_user[]" value="2" class="chk_delete" id="2" /> <input type="checkbox" name="chk_
<input type="checkbox" name="chk_user[]" value="1" class="chk_delete" id="1" />
<input type="checkbox" name="chk_user[]" value="2" class="chk_delete" id="2" />
<input type="checkbox" name="chk_user[]" value="3" class="chk_delete" id="3" />
<input type="checkbox" name="chk_user[]" value="4" class="chk_delete" id="4" />
<script>
$("form").submit(function() {
$('.chk_delete').each(function(){
if($(this).is(':checked')){
return true;
}
});
alert("No entry was selected!");
return false;
});
</script>
试一试:
$("form").submit(function(e) {
if(!$('input[type=checkbox]:checked').length) {
e.preventDefault();
alert("No entry was selected!"); }
return true; });
您正在使用
return true
进入each
循环。在每个循环中使用return仅仅意味着循环是否继续(ontrue
)或停止(onfalse
)
beign说,您的脚本将始终滚动并悬停一个返回false
,从而阻止表单提交
你能做什么
如果要保持循环,请保存变量中的true或false
var isChecked = false;
$('.chk_delete').each(function(){
isChecked = $(this).is(':checked')
return !isChecked;
});
return isChecked;
或
用你的工作脚本,我看不出有什么问题
$("form").submit(function(e) {
if(!$('input[type=checkbox]:checked').length) {
e.preventDefault();
alert("No entry was selected!");
}
return true;
});
$('input[type=checkbox]:checked')
选中每个复选框。所以$('input[type=checkbox]:checked')。长度取长度。拥有
与是一样的=代码>
最后,$('input[type=checkbox]:checked')。长度是$的短切('input[type=checkbox]:checked')!=0
。如果为true,则它将阻止提交表单。为什么表单没有包装在
标记中?请显示完整的HTML以便我们可以查看表单的结构。脚本也不在脚本标记中。。。我想我们遗漏了一些东西,实际上我没有提到HTML,因为HTML和脚本一切都很好。无论如何,我找到了解决方案,尽管我不知道为什么上面的jquery函数不起作用。但以下是有效的$(“表单”).submit(函数(e){if(!$('input[type=checkbox]:checked').length){e.preventDefault();alert(“未选择任何条目!”);}返回true;});不确定您的html结构是否有任何问题,但在通过表单提交时,输入标记中的name=“…”很重要。您对所有这些文件都使用相同的名称,这可能会导致错误
$("form").submit(function(e) {
if(!$('input[type=checkbox]:checked').length) {
e.preventDefault();
alert("No entry was selected!");
}
return true;
});