Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
Php 表单未随复选框数组一起提交_Php_Jquery_Codeigniter - Fatal编程技术网

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仅仅意味着循环是否继续(on
true
)或停止(on
false

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;
});