我的表格有双重提交。
第 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个人
- 我是
- 我的客户
我正在向我的客户提供我的表单提交脚本,他们有自己的表单和自己的 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/