javascript - 双重提交表单会产生验证问题

标签 javascript jquery ajax forms double-submit-problem

我的表格有双重提交。

第 1 步。使用 ajax 提交我定义的 url

第 2 步。允许表单按照其默认行为运行。

问题:

我没有为我的脚本提供任何验证。我没有使用任何插件,例如 jquery validate。

当提交表单时,jquery 验证正在工作(如果表单已经存在)但在 ajax 完成后就允许提交表单。

如果有验证就不会发生这种情况。

我正在向我的客户提供我的脚本,以在我的平台中获取提交的表单信息。

这就是为什么我不知道将使用哪个验证客户端,或者他们是否不会使用或他们将使用任何插件进行验证的原因。

我只是想在验证错误时停止提交..

我知道有问题

$("form[data-track=MySubmit]").off("submit");
$("form[data-track=MySubmit]").trigger( "submit" );
return true;

脚本部分:

$("form[data-track=MySubmit]").on("submit", function(event) {   
    var formInputData = $(this).serialize();
    $.ajax({
        url: "/insertdata",
        type: "post",
        data: formInputData
        dataType: 'json',
        success: function(responce) {

            $("form[data-track=MySubmit]").off("submit");
            $("form[data-track=MySubmit]").trigger( "submit" );
            return true;
        }
    });
});

更多信息:

它是一个双重提交脚本..意味着首先它将在一个不在表单操作中的 url 上提交表单,然后它将允许表单执行其默认行为,例如 这是在我的网址上使用 ajax 保存信息的步骤 然后在第二步中,如果表单有提交表单的操作,则执行此操作,或者如果表单具有 ajax 提交,则执行此操作或提交时的其他表单行为

更新:

有2个人

  1. 我是
  2. 我的客户

我正在向我的客户提供我的表单提交脚本,他们有自己的表单和自己的 jquery/javascript。

所以现在我给他们我的脚本,并要求以我的方式将其放在您的表格上,一旦他们将,我也会在提交后获得表格的详细信息。

但我没有提供任何验证脚本..

他们有自己的验证,可以有任何插件或自定义 jquery/javascript。

我的问题:

如果他们的表单自己的 jQuery/Javascript 进行了验证,我如何停止提交表单?

最佳答案

在 Ajax Success 函数中再次检查表单是否有效

if($("form[data-track=MySubmit]").valid()){
    // the form is valid, do something
    $("form[data-track=MySubmit]").off("submit");
    $("form[data-track=MySubmit]").trigger( "submit" );
} else{
    // the form is invalid
}

关于javascript - 双重提交表单会产生验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43468746/

相关文章:

javascript - Angularjs 隐藏输入字段内的文本

jquery - 如何在 jquery 自动完成结果末尾添加自定义列表项

javascript - 刷新 jQuery Mobile 翻转开关

javascript - 消除 jQuery 脚本中的冗余代码

javascript - google-chrome 扩展程序中的垃圾收集

javascript - 发出多个 ajax 请求来填充表格行。如何对表格列进行排序?

javascript - emailjs 不工作 [node js]

javascript - 从 HTML5 Canvas 获取值到 Javascript

javascript - 清除 Angularjs state.go 参数

javascript - JSON.stringify 时,Json 到 ASP.NET MVC Controller 参数为 null