Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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 表单提交时复选框onchange不提交最后一个复选框_Javascript_Jquery_Html_Forms_Onchange - Fatal编程技术网

Javascript 表单提交时复选框onchange不提交最后一个复选框

Javascript 表单提交时复选框onchange不提交最后一个复选框,javascript,jquery,html,forms,onchange,Javascript,Jquery,Html,Forms,Onchange,我有一个带有复选框的表单,最后有一个提交按钮。当选择一个并提交表单时,它将发布到服务器,我可以更改查询,以便它根据该复选框值进行筛选 HTML&JS <input id="category-1" class="filter-checkbox" type="checkbox" value="1" name="filter-categories[]" data-fid="1" checked=""> <label for="category-1">Clothing</l

我有一个带有复选框的表单,最后有一个提交按钮。当选择一个并提交表单时,它将发布到服务器,我可以更改查询,以便它根据该复选框值进行筛选

HTML&JS

<input id="category-1" class="filter-checkbox" type="checkbox" value="1" name="filter-categories[]" data-fid="1" checked="">
<label for="category-1">Clothing</label>


jQuery(document).ready(function ($) {
    // FILTERS
    $('#form-filter .filter-options input[type="checkbox"]').change(function (e) {
        $('#form-filter').submit();
    });
});

服装
jQuery(文档).ready(函数($){
//过滤器
$('#表单筛选器。筛选器选项输入[type=“checkbox”]”)。更改(函数(e){
$(“#表单筛选器”).submit();
});
});
如果我对javascript规则进行注释,只需选择一个框并点击submit everything就可以了,但是如果我打开javascript,我会点击链接——表单提交,但不会更改值。看起来提交速度几乎快于更改或其他内容,因此值不会更改和发送


任何一个?谢谢

您应该使用带有复选框的
click
事件,因为
change
事件发生在复选框的值实际更改之前

让我知道它是否有效。干杯

<input id="category-1" class="filter-checkbox" type="checkbox" value="1" name="filter-categories[]" data-fid="1" checked="">
<label for="category-1">Clothing</label>


jQuery(document).ready(function ($) {
    // FILTERS
    $('#form-filter .filter-options input[type="checkbox"]').click(function (e) {
        $('#form-filter').submit();
    });
});

服装
jQuery(文档).ready(函数($){
//过滤器
$(“#表单筛选器。筛选器选项输入[type=“checkbox”]”)。单击(函数(e){
$(“#表单筛选器”).submit();
});
});

您应该使用带有复选框的
单击事件,因为
更改事件发生在复选框的值实际更改之前

让我知道它是否有效。干杯

<input id="category-1" class="filter-checkbox" type="checkbox" value="1" name="filter-categories[]" data-fid="1" checked="">
<label for="category-1">Clothing</label>


jQuery(document).ready(function ($) {
    // FILTERS
    $('#form-filter .filter-options input[type="checkbox"]').click(function (e) {
        $('#form-filter').submit();
    });
});

服装
jQuery(文档).ready(函数($){
//过滤器
$(“#表单筛选器。筛选器选项输入[type=“checkbox”]”)。单击(函数(e){
$(“#表单筛选器”).submit();
});
});

您是否在表单提交事件中执行其他功能?通常情况下,该表单可以通过如下方式单击复选框提交

$('#checkbox').click(function() { 
    if(this.checked) {//just for checking
        //Then trigger the form submit event
        $("#form").trigger('submit');
    } 
    else{
       //do else.
    }
   });

您是否在表单提交事件中执行其他功能?通常情况下,该表单可以通过如下方式单击复选框提交

$('#checkbox').click(function() { 
    if(this.checked) {//just for checking
        //Then trigger the form submit event
        $("#form").trigger('submit');
    } 
    else{
       //do else.
    }
   });

好吧,这让我抓狂,但我解决了。我不知何故认为jquery出现了错误,比如在我提交之前可能没有选中复选框。事实并非如此,问题在于我的PHP

jQuery
submit()
函数不发送提交按钮的值。在我的PHP代码中,我做了一个检查,检查是否设置了submit按钮,在我看来,情况一直如此,但现在不是这样。所以
如果(!empty($_POST['submit-btn']){
为false,我的脚本停止工作


谢谢大家

好吧,这让我抓狂,但我解决了它。我不知怎么地认为有一个jquery错误,比如在我提交之前可能没有选中复选框。事实并非如此,问题出在我的PHP中

jQuery
submit()
函数不发送提交按钮的值。在我的PHP代码中,我检查了提交按钮是否已设置,在我看来这一直是事实,但现在不是。因此
如果(!empty($\u POST['submit-btn']){
为false,我的脚本停止工作


谢谢大家

Aaaaargh你们几乎让我高兴了一天,但没用:(对不起,那个朋友。如果你们能提供PHP代码,那会有帮助的。干杯!aaaargh你们几乎让我高兴了一天,但没用:(对不起,伙计。如果你能提供你的PHP代码,那会有帮助的。干杯!在你的HTML中我假设有更多?比如
?是的,
在你的HTML中我假设有更多?比如
?是的,