変数を生成するphpファイルがあり、その変数をメインページのonclickによって呼び出されるjavascript関数に入れたいです。これはPHPからjavascriptに送信できますか?
次のことができます。
<script type='text/javascript'>
document.body.onclick(function(){
var myVariable = <?php echo(json_encode($myVariable)); ?>;
};
</script>
JavaScriptは、PHPで解析されたファイル内で定義する必要があります。
たとえば、index.phpに配置できます
<?php
$time = time();
?>
<script>
document.write(<?php echo $time; ?>);
</script>
書くだけ:
<script>
var my_variable_name = "<?php echo $php_string; ?>";
</script>
これで、上記のコードの下の任意の時点で、my_variable_name
という名前のJavaScript変数として使用できます。
私があなたを正しく理解していれば、あなたは次の行に沿って何かをすることができるはずです:
function clicked() {
var someVariable="<?php echo $phpVariable; ?>";
}
素晴らしいオプションは、jQuery/AJAXを使用することです。 これらの例を見てください そしてサーバーで試してみてください。この例では、FILE1.phpで、空の値を渡していることに注意してください。必要に応じて、次のような値を渡すことができます(username
およびpassword
と呼ばれるjavascript変数を想定:
_data: 'username='+username+'&password='+password,
_
FILE2.phpの例では、次のような値を取得します。
_$uname = $_POST['username'];
$pword = $_POST['password'];
_
次に、MySQLルックアップを実行し、次のように値を返します。
_echo 'You are logged in';
_
これにより、メッセージ_You are logged in
_がFILE1.phpの成功関数に配信され、メッセージ文字列が「data」という変数に格納されます。したがって、成功関数のalert(data);
行はそのメッセージを警告します。もちろん、テーブル構造全体など、大量のHTMLであっても、echo
好きなものを使用できます。
別の良い例です レビューします。
フォームを作成し、jQueryを使用してボタンが押されたことを検出し、AJAXを介してセカンダリPHPファイルにデータを送信します。上記の例はその方法を示しています。
セカンダリPHPファイルは変数が送信された場合)を受信し、応答(送信することを選択したものは何でも)を返します。その応答はAJAX "data"として呼び出します(これらの例では)。
JQuery/AJAXコードはjavascriptであるため、2つのオプションがあります。メインのPHPドキュメント内の_<script type="text/javascript"></script>
_タグ内に配置できます。または、_<?php include "my_javascript_stuff.js"; ?>
_あなたのPHPドキュメント。
あなたの場合、最初に提案した例のほとんどをミラーリングして、データを送信せずにAJAX成功関数で応答を受信できるように思えます。 、成功関数内で行う必要があります。最初は少し奇妙に見えますが、動作します。
PHP値をJavaScriptに渡すことができます。 PHPはサーバー側で実行されるため、値が計算され、javascriptを含むHTMLにエコーできます。 JavaScriptは、サーバー側で計算された値PHPを使用してクライアントブラウザーで実行されます。
<script type="text/javascript">
// Do something in JavaScript
var x = <?php echo $calculatedValue; ?>;
// etc..
</script>