14

変数を生成するphpファイルがあり、変数をメインページのonclickによって呼び出されるjavascript関数に入れたいと思います。これは PHP から JavaScript に送信できますか?

4

6 に答える 6

22

次のことができます。

<script type='text/javascript'>
    document.body.onclick(function(){
        var myVariable = <?php echo(json_encode($myVariable)); ?>;
    };
</script>
于 2012-12-05T20:31:01.790 に答える
6

書くだけ:

<script>
    var my_variable_name = <?php echo(json_encode($php_string)); ?>;
</script>

my_variable_nameこれで、上記のコードの下の任意の場所で、という名前の JavaScript 変数として使用できるようになりました。

于 2012-12-05T20:31:38.150 に答える
5

JavaScript は、PHP で解析されたファイル内で定義する必要があります。

たとえば、index.php に次のように配置できます。

<?php
$time = time();
?>
<script>
    document.write(<?php echo $time; ?>);
</script>
于 2012-12-05T20:30:42.073 に答える
2

私があなたのことを正しく理解していれば、次のようなことができるはずです。

function clicked() {
    var someVariable="<?php echo $phpVariable; ?>";
}
于 2012-12-05T20:30:09.900 に答える
1

優れたオプションは、jQuery/AJAX を使用することです。 これらの例を見て、サーバーで試してみてください。この例の FILE1.php では、空白の値が渡されていることに注意してください。必要に応じて値を渡すことができます。これは次のようになります (javascript vars が呼び出されたと仮定するusernamepassword:

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 の success 関数にメッセージが配信され、メッセージ文字列が「data」という変数に格納されます。したがって、alert(data);成功関数の行はそのメッセージを警告します。もちろん、echoテーブル構造全体など、大量の HTML であっても、好きなようにできます。

確認する別の良い例を次に示します。

アプローチは、フォームを作成し、jQuery を使用してボタンの押下を検出し、AJAX を介してセカンダリ PHP ファイルにデータを送信することです。上記の例は、その方法を示しています。

セカンダリ PHP ファイルは変数を受信し (送信された場合)、応答を返します (送信するものは何でも)。その応答は、AJAX 呼び出しの Success: セクションに「データ」として表示されます (これらの例では)。

jQuery/AJAX コードは JavaScript であるため、2 つのオプションがあり<script type="text/javascript"></script>ます。メインの PHP ドキュメント内のタグ内に配置するか<?php include "my_javascript_stuff.js"; ?>、PHP ドキュメントの下部に配置できます。jQuery を使用している場合は、例のように jQuery ライブラリを含めることを忘れないでください。

あなたの場合、私が提案した最初の例をほとんど反映して、データを送信せず、AJAX 成功関数で応答を受信できるように思えます。ただし、そのデータを処理する必要がある場合は、success 関数内で行う必要があります。最初は少し奇妙に思えますが、うまくいきます。

于 2012-12-05T20:41:26.377 に答える
0

PHP値をJavaScriptに渡すことができます。PHPはサーバー側を実行するため、値が計算され、JavaScriptを含むHTMLにエコーできます。次に、JavaScriptは、PHPがサーバー側で計算した値を使用してクライアントブラウザーで実行されます。

<script type="text/javascript">
    // Do something in JavaScript
    var x = <?php echo $calculatedValue; ?>;
    // etc..
</script>
于 2012-12-05T20:31:40.240 に答える