2012-03-02 11 views
2

に私はこのようないくつかのJavaScriptコード内でPHPの条件を追加する必要があります。PHPの条件は、Javascriptのコード

<script> 
$(document).ready(function() { 

<?php if (some condition) { 
    $('#myID').show(); 
} 

}); 
</script> 

これは可能ですか?

+1

それを試してみて、見つける...またはそれらの条件は何ですか –

+0

それについて関連の質問のいずれかを見ますか?あなたはjavascriptコードの外でこれらの条件を設定することはできません、代わりにjavascript関数にパラメータとしてそれらを送信しますか? – DG3

+0

PHPスクリプトを使用してJavaScriptをレンダリングしていますか?それは簡単だろう。 JavaScriptでPHPコマンドを使用したいですか?なぜJavaScriptの条件を使用できないのですか? –

答えて

3

にはJavaScriptを有効にししかし、PHPはサーバー上で動作するクライアント側でコンパイルされているので、これは不可能です。この

<?php if (some condition): ?> 
$('#myID').show(); 
<?php endif; ?> 
0

ファイルの拡張子によって異なります。

ファイル拡張子がPHPか、.htaccssルールやApacheの設定を使用してPHPのコードを実行するために一緒に入れている可能性がある他のいくつかの)であれば、それはそれ以外の罰金ではありません。あなたが動的にこれをしたい場合は、しかし、代わりのAjaxを使用するために非常に良く、より速く解決策になる

<script type="text/javascript"> 
$(document).ready(function() { 

<?php if(some condition) { ?> 
    $('#myID').show(); 
<?php } ?> 

}); 
</script> 

+2

これは必ずしも真実ではありませんが、ファイル拡張子付きで 'php'を解析するようにサーバを簡単に設定できます。 – shanabus

+0

@shanabus:私はそれを書いていました、更新された答えを参照してください:) – Sarfraz

2

あなたはJavaScriptをやっているところはどこでもあれば、確かには、PHPで実行されます。

+0

あなたはAJAXの状態をページロードで確認しています。 –

+0

@JaredFarrish:いいえ、私はそうではありません。 「動的」とは、「定期的に」という意味でした。 – Ryan

0

JavaScriptをエコーアウトするだけです。

<script> 
$(document).ready(function() { 

<?php if (some condition) { 
    echo("$('#myID').show();"); 
}?> 

}); 
</script> 
2

PHPがサーバ側で実行されると、何かが出力されます。したがって、ページが読み込まれると、PHPコードは表示されません。

phpスクリプトの実行時にJS if条件を表示するようにPHPコードを記述する必要があります。

このようなものです。

if (something == <?php outputSomeThingToCompare ?>) { 
    $('#myID').show(); 
} 

また、これを試すこともできます。

<?php if(some condition) { ?> 
    $('#myID').show(); 
<?php } ?> 
1

はい、いいえ。

PHPがあなたのページを処理していることを覚えておいてください。サーバ側。ですから、JavaScriptの内容を動的に変更したい場合は、これを行うことができます。

代わりにPHPがクライアントサイドでJavaScript内の変数を処理するようにしたい場合は、これは不可能です。

また、ブラウザにはPHPについての知識がありません。

0

を試してみてください。これを次のように変更してください。

$string = '<script> 
$(document).ready(function() {'; 
if (some condition) { 
$string .= '$('#myID').show();'; 
$string .= '} 

}); 
</script>';'; 

エラーが発生した場合は、コードを連結してください。

1

はい、可能ですが、<?php命令が正しく終了していないようです。閉鎖はどこですか??>

あなたはこの必要があると思われる場合:

<script> 
    $(document).ready(function() { 
     <?php 
     if (some condition) { 
      echo('$("#myID").show();'); 
     } 
     ?> 
    });        //$(document).ready 
</script> 
0

をはいそれは可能ですが、いくつかの状況では、それはあなたがこのようにPHPの関数を使用することはできませんZenCartにでEZpageを作成するときのように、可能ではありません。 このコードを使用している場所によって異なります。 ?zencartでは、このコードは定義ページでのみ使用でき、EZページではこのことはできません。

2

PHPを使用してhtmlと条件をレンダリングするPHPファイル内にスクリプトを置くことができます。

<html><head></head> 
<body> 
Your webpage content here 

<script type="text/javascript"> 
    $(document).ready(function() { 
     <?php if(condition) : ?> 
      $('#myID').show(); 
     <?php else : ?> 
      $('#mySecondID').show(); 
     <?php endif; ?> 
    }); 
</script> 

</body> 
</html> 

uはあなたがそうすることができ、別のファイルにあなたのJSを入れて、たとえば、index.phpのためのあなたのhtmlを(レンダリングされるPHPファイル内のいくつかの変数を初期化したい場合は

index.phpのかどんなテンプレートファイルでも)上記と同じ方法で、あなたは.jsファイルからそれらを読むことができます。

例: のindex.php

<html><head></head> 
<body> 
Your webpage content here 
<?php 
    $foo = 'foo'; 
    $bar = 'bar'; 
?> 
<script type="text/javascript"> 
     var foo = '<?php echo (condition) ? $foo : $bar ?>'; 
</script> 

</body> 
</html> 

init.js

$(document).ready(function() { 
    if(foo == 'foo') 
     $('#myID').show(); 
});