我无法理解为什么这个表单会发送同一封电子邮件的多个副本(1-8个拷贝)。我已尽力解决问题,但我无法弄明白。
我正在使用jQuery Validation Engine来验证表单,如果它正确验证,我使用jquery.post()来提交表单。
我已经包含了所有代码,只是为了安全起见。但是这里有一些可能无关紧要的东西,比如我在成功发送邮件时在iframe中加载的ppcconversion脚本。
请参阅以下代码:
$(".consult-form form .submit").click(function(){
$(".consult-form form").validationEngine('attach', {
promptPosition : "topLeft",
onValidationComplete: function(contactForm, status){
if(status==true){
$(".consult-form form .submit").clone().insertAfter($(this)).attr("disabled","true");
$(".consult-form form .submit").hide();
_gaq.push(['_trackPageview', '/web-contact']); // Google Page Tracker
$.post('/path/to/process.php', $(".consult-form form").serialize(), function(data) {
// Add Thank You Message
$('.thank-you-message').html(data);
// Create IFRAME to page with Adwords Tracking Script
function ppcconversion() {
var iframe = document.createElement('iframe');
iframe.style.width = '0px';
iframe.style.height = '0px';
document.body.appendChild(iframe);
iframe.src = 'http://www.fullurlto.com/conversion-script.php';
};
ppcconversion();
});
return false; // I attempted to add this line to prevent it from submitting multiple times. It didn't work.
$(".consult-form form").hide();
}
}
});
});
如果您有任何其他详细信息需要更多见解,请告诉我,我会提供给他们。
谢谢!
答案 0 :(得分:0)
现在,您每次点击.submit
而是在ready
处理程序
$(function() {
$(".consult-form form").validationEngine('attach', {
//...
}
});
答案 1 :(得分:0)
jQuery验证引擎通常在表单提交时触发,因此不需要在提交按钮单击事件上绑定。
坚持将验证结尾附加到表单并正常提交。应该是好的(未经测试)