Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
Jquery 将Ajax处理程序与复选框提交的表单一起使用';一旦改变';事件_Jquery_Ajax - Fatal编程技术网

Jquery 将Ajax处理程序与复选框提交的表单一起使用';一旦改变';事件

Jquery 将Ajax处理程序与复选框提交的表单一起使用';一旦改变';事件,jquery,ajax,Jquery,Ajax,我正在尝试将表单提交转换为jQuery的Ajax。页面包含一个产品过滤器(按价格、类型)和产品名称-每行都有一个带有复选框的表单,onchanged属性在其中提交表单: <input type="checkbox" value="" name="pfilter" onchange="this.form.submit();"/> 但是产品没有被过滤。 <script src="http://code.jquery.com/jquery-1.11.0.min.js">&l

我正在尝试将表单提交转换为jQuery的Ajax。页面包含一个产品过滤器(按价格、类型)和产品名称-每行都有一个带有复选框的表单,onchanged属性在其中提交表单:

 <input type="checkbox" value="" name="pfilter" onchange="this.form.submit();"/>
但是产品没有被过滤。


<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<form id="form" action="page.php">
    <input type="checkbox" value="" name="pfilter" onchange="$('#form').submit();"/>
</form>
<script>
    $("#form").on('submit', function (event) {
        event.preventDefault();
        var form = $(this);
        $.ajax({
            url: form.attr('action'),
            type: 'POST',
            data: form.serialize(),
            success: function (data) {
                $("#myContainer").html(data);
            },
        });
    });
</script>
$(“#表单”)。在('submit',函数(事件){ event.preventDefault(); 变量形式=$(此); $.ajax({ url:form.attr('action'), 键入:“POST”, 数据:form.serialize(), 成功:功能(数据){ $(“#myContainer”).html(数据); }, }); });
您能否验证数据是否在服务器上正确发送和接收。表单甚至没有通过ajax提交。它在正常更改事件中被提交。是否调用了上面的提交函数?event.preventDefault();应阻止表单正常提交。完全没有错误。。我正在想办法。。同时,如果有人能帮我修改jquery ajax的代码,请只通过
this.form.submit
提交表单。。即使在删除
preventDefault
后,ajax调用也不会触发。我使用的是较新版本的jQuery,所以我使用的是.on而不是.live
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<form id="form" action="page.php">
    <input type="checkbox" value="" name="pfilter" onchange="$('#form').submit();"/>
</form>
<script>
    $("#form").on('submit', function (event) {
        event.preventDefault();
        var form = $(this);
        $.ajax({
            url: form.attr('action'),
            type: 'POST',
            data: form.serialize(),
            success: function (data) {
                $("#myContainer").html(data);
            },
        });
    });
</script>