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
为什么我的jQueryAjax表单在第一次提交时提交一次,在第二次提交时提交两次。。。?_Ajax_Jquery - Fatal编程技术网

为什么我的jQueryAjax表单在第一次提交时提交一次,在第二次提交时提交两次。。。?

为什么我的jQueryAjax表单在第一次提交时提交一次,在第二次提交时提交两次。。。?,ajax,jquery,Ajax,Jquery,我有一个简单的AJAX表单,它在我提交它时可以正常工作。但是,如果我随后将新数据输入到同一表单中(而不刷新页面),则该表单将提交两次。如果我第三次这样做,那么它会提交三次表单,以此类推。为什么要这样做?这是我的密码: $(document).ready(function(){ $("#myForm").submit(function() { var myField = $('#myID).val(); $.ajax({ type:

我有一个简单的AJAX表单,它在我提交它时可以正常工作。但是,如果我随后将新数据输入到同一表单中(而不刷新页面),则该表单将提交两次。如果我第三次这样做,那么它会提交三次表单,以此类推。为什么要这样做?这是我的密码:

$(document).ready(function(){
    $("#myForm").submit(function() {
        var myField = $('#myID).val();
        $.ajax({
            type: "POST",
            url: 'myFile.php',
            dataType: 'html',
            data: {myData:myField},
            success: function(data){
                alert(data);
            }
        });

        return false;
    });
});

甚至我在开发AJAX登录表单时也遇到了同样的问题。在谷歌搜索了几个小时后,我找到了一个解决方案。我希望这会对你有所帮助

基本上,在ajax请求完成后,必须取消绑定当前表单提交操作的实例。 因此,在返回false之前添加这一行

$("#myform").unbind('submit');
因此,您的整个代码应该如下所示



    $(document).ready(function(){
        $("#myForm").submit(function() {
            var myField = $('#myID).val();
            $.ajax({
                type: "POST",
                url: 'myFile.php',
                dataType: 'html',
                data: {myData:myField},
                success: function(data){
                    alert(data);
                }
            });

            /* Add this line */
            $("#myform").unbind('submit');
            return false;
        });
    });


我也有同样的问题

我在以下方面找到了解决方案:

Basicali正在向Saurabh Mishra添加.submit(),答案是:

$('#form1').unbind('submit').submit();

取消绑定表单可能会中断Ajax。我发现只要我先申报表格

$('#my_form').ajaxForm

所有这些都按照预期工作,并遵循标准协议。我刚刚花了一天的时间来处理表单提交中的“缺少模板”错误,因为我解除了表单的绑定。

你能从真实代码中复制并粘贴代码,而不是键入摘录吗?Hells yeah@Jack