2016-05-02 8 views
0

私はPHPMaillerを使用していました。フォームを送信して成功のポップアップウィンドウを取得した後、ページをリダイレクトする必要がありました。ページに特定の値のクラスがある場合

フォームを送信した結果、ポップアップウィンドウに送信メッセージが表示されたとき(JSが値 'Sent'のクラス 'msg'を追加しています)。

私はリダイレクトするneddedとしよう:

(function ($) { 
    var text = document.getElementsByClassName("msg").innerHTML; 
    if (text == "Sent") { 
     window.location = "http://www.test.com" 
    } 
})(jQuery); 

が、肯定的な結果を持っていません。誰も助けてくれませんか?

UPD:私がbootmを持っていると答えるのはうまくいくはずです。申し訳ありませんが、私が必要としているものや自分のものを明確に記述していないと思います。

私はPHPMailerを持っています。フォームを送信して成功すると、別のPHPMailer JSスクリプトcode'MF000に戻ります。そのJSスクリプトは、ポップアップで 'Sent'というテキストを 'msg'クラスに追加します。代わりにこのポップアップの代わりに「MF000」コードなどのリスナーを使用できますか?

+0

'console.log(text)'で始まる –

+0

jQueryを使っているので、 'document.getElementsByClassName(msg")の代わりに '$( '。msg')。 ' –

+0

これを試してくださいjsfiddle [link](https://jsfiddle.net/jitendratiwari/cwwr4tt6/) –

答えて

2

getElementsByClassNameは配列を返します。したがって、innerHTMLプロパティはありません。結果の配列にインデックスでアクセスする必要があります。

(function ($) { 
    var text = document.getElementsByClassName("msg")[0].innerHTML.trim(); 
    if (text == "Sent") { 
     window.location = "http://www.test.com" 
    } 
})(jQuery); 

の使用に注意してくださいを使用して、比較チェックに影響する先頭/末尾の空白を削除します。あなたはjQueryのを使用していると別の方法として、あなたがこれを行うことができます:

(function ($) { 
    var text = $(".msg").text().trim(); 
    if (text == "Sent") { 
     window.location = "http://www.test.com" 
    } 
})(jQuery); 

をまた、DOMがロードされた後にあなたのコードを実行していることを確認してください。閉鎖だけではその仕事はできません。

関連する問題