【问题标题】:Contact Form 7 not redirecting upon email sent联系表格 7 未在发送电子邮件后重定向
【发布时间】:2017-04-22 23:32:44
【问题描述】:

我有一个表单,我试图在成功发送电子邮件后重定向到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(); 

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

【问题讨论】:

  • 我对Contact Form 7一无所知,但它不应该有一些设置在提交后重定向吗?我在文档中找到了这个:contactform7.com/redirecting-to-another-url-after-submissions编辑:哦,nvm,我刚刚注意到你说它不起作用。
  • 您确定您正确使用了 on_sent_ok 的格式吗?根据我发布的链接,应该是on_sent_ok: "location = 'http://stackoverflow.com/';"
  • 我刚试过,可惜没用

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


【解决方案1】:

Contact Form 7 进行了 ajax 调用。成功后元素被插入。然后你可以检查元素是否存在:

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

【讨论】:

  • 效果很好,非常感谢!解决了我这几天的问题。
【解决方案2】:

好吧,也许我写得晚了,但是这段代码绝对可以完成这项工作。 (如果你在 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-29
    • 2013-04-22
    • 2017-07-25
    • 1970-01-01
    • 2011-08-12
    • 2019-10-03
    • 1970-01-01
    相关资源
    最近更新 更多