2016-12-07 9 views
1

メールを送信するとhttp://www.example.comにリダイレクトしようとしているフォームがあります。私は、追加の設定でon_sent_okだけでなく、私のJavaScriptでお問い合わせフォーム7は電子メールでリダイレクトされません

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

を含む様々なアプローチを試してみましたが、それは同様に動作するようには思えません。

編集:ユーザーが送信をクリックすると、計算を実行してPDFを生成するためにデフォルトを防止することを言いました。すべて完了したら、提出を可能にするために

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

とすることができます。これは、リダイレクトに関する問題を引き起こす可能性がありますか?

+0

私は、お問い合わせフォーム7については何も知りませんが、それは提出後にリダイレクトするためにいくつかの設定を持っていないでしょうか?私はドキュメントでこれを見つけました:http://contactform7.com/redirecting-to-another-url-after-submissions/ **編集:**オハイオ州nvm、私はあなたがそれが動作しないと言ったことに気づいた。 –

+1

on_sent_okの形式を正しく使用していますか?私が投稿したリンクに従って 'on_sent_ok:" location = 'http://stackoverflow.com/'; "'にする必要があります。 –

+0

私はちょうどそれを試みた、残念ながらそれは動作しませんでした – mikepsb

答えて

2

お問い合わせフォーム7はajaxを呼び出しました。成功後、要素が挿入されます。要素が存在するかどうかを確認することができます:

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

それは完璧に働いた、ありがとう!私が数日間してきた問題を解決しました。 – mikepsb

0

まあ、私は遅く書いているかもしれませんが、このコードは確かに仕事をします。 (あなたがワードプレスで働いているなら)。私はこれまでこれを使用していて、正常に動作しています。

このコードを関数のファイルに配置してください。また、最終的な注意として、どちらか一方を使用する必要があります。

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

関連する問題