我正在为客户正在举办的事件创建注册表。基本的用户详细信息被提交到第三方系统(即姓名、电子邮件等),但其余字段需要通过电子邮件发送给客户。
我需要这样的事情发生:
- 列出项目
- 用户填写表单
- jquery bvalidator 检查表单中的必填字段
- 表单被提交(通过ajax)到一个单独的页面,其中电子邮件被发送给客户
- 然后将表单提交(常规 POST 方法)到第三方系统
- 成功后,用户将返回到“谢谢”网址。
这是我尝试使用的代码,但它陷入了循环,反复将自身提交到“电子邮件”页面,并且从不提交到外部网址。
如果我将 $('#form1').submit();
替换为警报,它只会向电子邮件页面提交一次,然后正确显示警报。
var myvalidator = $('#form1').bValidator(optionsGrey);
$('#form1').submit(function() {
if (myvalidator.isValid()) {
$.ajax({
data: $('#form1').serialize(),
type: "POST",
url: "email_send.asp",
success: function() {
$('#form1').submit();
}
});
}
return false;
});
关于如何解决这个问题有什么建议吗?
最佳答案
尝试:
$('#form1').unbind('submit').submit();
关于jquery : submitting a form twice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9767871/