2017-08-14 4 views
1

functions.phpファイルでフックが実行された後にスクリプトを実行する必要があります。ワードプレスmailchimpプラグインを使用してイム、私はHTMLに、などいくつかのテキストの挿入とdisplay = "none"を実行する必要があります。私が得たfunctions.phpでdocument.readyを実行する

add_action('mc4wp_form_success', function() { 
    // do something 
    echo '<script type="text/javascript">', 
     'console.log("starting....");', // this works 
    'document.getElementById("mailchimp-is-subscribed").style.display = "none";', 
     'document.getElementById("mailchimp-success-form").style.display = "block";', 
     'console.log("end");', 
    '</script>'; 
}); 

エラーがstylenullあるでした。私はドキュメントが準備ができていないと思いますか? $は機能しません。 これは間違っていますか?フックが呼び出された後にそのコードを実行する必要があります。 .jsにコードを入れても問題ありません。おかげ

+0

を。あなたはそれだけでPHPとJavaScriptを混ぜ合わせることはできません。 –

+0

@NiettheDarkAbsolうん、私はそう思った。これに対する正しいアプローチは何ですか? – Sylar

答えて

0

あなたはDOMContentLoadedイベントにようにコードを追加することができます。

document.addEventListener('DOMContentLoaded', function() { ..your_code... }, false);

チェックこの回答:あなたは確かに、これは間違っているpure JavaScript equivalent to jQuery's $.ready() how to call a function when the page/dom is ready for it

+0

申し訳ありませんが、jqueryの半分のように見えますが、jqueryを使用することはできません。 – Sylar

+0

申し訳ありません、あなたは正しいです!私は答えを変えました。 – Fredster

+1

SWEET!このフォーマットで素晴らしいですが、 'document.getElementById(" mailchimp-is-subscribed ")。style.display =" none ";'ありがとう! – Sylar

関連する問題