联系表格7不会在发送电子邮件时重定向

时间:2016-12-07 21:06:01

标签: javascript jquery wordpress contact-form contact-form-7

我有一个表单,我试图在成功发送电子邮件后重定向到http://www.example.com。我在其他设置中尝试了不同的方法,包括on_sent_ok以及

if(jQuery('.wpcf7-mail-sent-ok').length > 0)   
window.location.replace("http://stackoverflow.com");

在我的JavaScript中,但似乎没有效果。

编辑:我忘了提到用户点击提交后,我会做一个防止默认,以便进行一些计算并生成PDF。一旦完成,我就

$("form.wpcf7-form").unbind('submit').submit(); 

允许提交发生。这会导致重定向出现任何问题吗?

2 个答案:

答案 0 :(得分:3)

联系表格7进行了ajax通话。成功后插入元素。然后你可以检查元素是否存在:

jQuery(document).ajaxComplete(function() {
  if (jQuery('.wpcf7-mail-sent-ok').length) {
    alert(1);
   //window.location.replace("http://stackoverflow.com");
  }
});

答案 1 :(得分:0)

好吧,也许我写的很晚,但是这段代码将会定义。 (如果你正在使用wordpress工作)。我到目前为止使用它并且它正常工作。

请记住将此代码放在您的函数文件中,最后请注意,您必须使用其中一个,而不是两个......!

add_action('wp_head', 'RedirectsCF7');
// Start of function.
function RedirectsCF7() {

    if(is_page("contact-page-or-whatever-page-name-is")) {

    echo "<script>document.addEventListener('wpcf7mailsent', function(event) {location = 'https://www.google.com/';}, false);</script>";

    }
}

// Or simply add this code to all pages, like this.
    if(!is_admin()) {

    echo "<script>document.addEventListener('wpcf7mailsent', function(event) {location = 'https://www.google.com/';}, false);</script>";

    }
}

参考here