2016-12-14 12 views
0

私のページの1つに簡単なコード(下記参照)を入れてください。ログイン後、メインページに戻ってきます。ポップアップモーダルでメッセージありがとうございます。 これに何度も変えてみたことがありますが、これはABCのようにシンプルでなければなりません。Open Modal via php/javascript

<?php if(isset($thx) === 'Y'){?> 
     <script type="text/javascript"> 
     $('#\\#thx').modal('show'); 
     </script> 
<?php } ?> 
+0

は "なしの仕事を" 定義します。何が起こるのですか?エラー?無効な結果ですか? – Sayse

+0

https://api.jquery.com/ready/ – Clive

+1

'(isset($ thx)=== 'Y')'が間違っています。 'isset()'はブール値を返します。ブール値は 'Y'と決して同じではありません – Dezza

答えて

0

ドキュメントの準備が整った状態でJQueryスクリプトをラップします。文書があるまで

$(document).ready(function() { 
    $('#\\#thx').modal('show'); 
}); 

ページには、安全に操作することができない「準備ができました。」 jQueryはこの状態を検出します。 $(document).ready()に含まれるコードは、JavaScriptコードを実行する準備ができたページDOM(Document Object Model)に一度しか実行されません。

+0

既に効果がないと試してみました。 –

0

はあなたの機能、ページの読み込みを実行します

$(document).ready(function(){ 

    //your code here 
}) 

これを使用する必要があります。

+0

お返事ありがとうございました –

+0

あなたのモーダルhtmlを質問に追加してください。 –

0

これを試してみてください:

<?php if(isset($thx) == "Y"){?> 
     <script type="text/javascript"> 
     $(document).on('ready',function({ 
      $('#thx').modal('show', true); 
     }); 
     </script> 
<?php } ?> 
+0

2番目のパラメータ(true)で試していないが、今は試したが、まだモーダルではない。 –

+0

@PeterBaker:ブートストラップモーダルですか?あなたのコードに "bootstrap"と "jquery"(.jsと.css)を含めましたか?結果を調べるようにしてください:Chromeで、ページを右クリックしてinspectを選択することをお勧めします。検査ウィンドウで「コンソール」タブを選択し、ページの読み込み中に発生する可能性のあるエラー(赤色)を確認します。また、モーダルを手動で起動する要素を作成してください(動作するように)。 –

+0

すでにコンソールログから検査されています。本当の頭の傷つき者です。ちょうど壊して改造してしまうと思います –

0

あなたの問題は、ここに表示されます。

if(isset($thx) === 'Y')

isset()はブール値を返します。すなわち、trueまたはfalseです。 trueまたはfalse'Y'と比較していますが、一致するかどうかを確認しています。

同一のチェック===は、同じタイプと同じ値の両方である必要があることを意味します。ブール値は文字列ではないため、同じ型ではないため、テストは失敗します。

詳細については、comparison operatorsのphpマニュアルを参照してください。


あなたは、おそらく次のような何かをしたい:

if(isset($thx) && $thx === 'Y')