当前位置: 首页 > 面试题库 >

为什么我的jquery ajax表单第一次提交一次,第二次提交两次?

翁翰
2023-03-14
问题内容

我有一个简单的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请求完成后 取消绑定 表单的当前实例的Submit操作。因此,在 返回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;
        });
    });


 类似资料:
  • 我有一个登录表单,它与一起工作,并连接到。问题是它被提交了两次。请查看以下内容。 JavaScript代码 我的HTML表单 下面是我的servlet(提交表单的地方),如果你感兴趣的话 在我的IDE控制台中,输出如下(输出由打印)

  • 问题内容: 我有一个要通过jQuery捕获并通过AJAX发送的表单。我的问题是,每次刷新页面时,表单都会提交多次。 我尝试取消绑定“提交”按钮,但通常在第一次提交后发布表单。任何帮助,将不胜感激 问题答案: 您最有可能正在使用或触发ajax事件。试试这个:

  • 这就是我的表单的样子: 如果用户快速按下提交按钮10次,表单也将提交10次。我尝试将添加到submit按钮和下面的脚本中,但这并不能起到任何作用: 有什么解决方法吗?

  • 不过,我可以在01:00的视频中复制问题。这意味着当我安装带有身份验证的Laravel时,如果我在登录表单中单击提交按钮两次,Firefox将发送2个请求。 为什么在多次单击按钮时,Firefox有时发送多个请求,而有时只发送一个? 我有一个用户表 如果我在按钮上单击两次(或二十次)提交表单,那么数据库中只有一个新行。 为什么会这样?我希望,如果我多次单击submit按钮,那么表单将发送多个请求,

  • 问题内容: 我有一个模式表单,用户必须完成表单(否则验证将显示必填字段错误消息),然后单击“提交输入类型”,不执行任何操作,然后再次单击它,然后将通过ajax发布,并返回“谢谢”消息。 我环顾了Stackoverflow,并为遇到的问题应用了答案,但仍然无法正常工作。我确实删除了event.preventDefault(); 从中,以及$(“#review- form”)。submit(funct

  • 我创建了一个repo,在里面创建了一个文件,在文件中放入一些内容,并提交了文件。现在,我希望看到该提交的差异,理想情况下,它应该显示添加的文件和添加到其中的行。 但是,返回