-1

PHP変数を設定しているJavascript変数があります。

function cancel(number) {
    var message = "<?= $message[" + number + "]; ?>";
}

$message は配列です。「数値」は、メッセージを設定したい配列の要素です。基本的に、要素ピッカーとして Javascript 変数を使用して、Javascript 変数を PHP 変数に設定したいと考えています。したがって、「number」が 2 の場合、次のように選択されます。

$message[2];

ただし、上記のアプローチは機能せず、これが可能かどうかさえわかりません。

4

6 に答える 6

2

そうではありません。XHR を使用して、サーバーから値を取得します。

于 2012-05-19T04:03:21.840 に答える
2

まったく可能ではないようです。PHP はサーバー側で評価され、javascript はクライアント側で評価されます。したがって、PHP はそれを$message["+number+"]と見なし、 のインデックスで値を見つけようとします"+number+"。探しているデータを取得するには、おそらく AJAX リクエストなどを行う必要があります。

于 2012-05-19T04:06:06.947 に答える
1

あなたがしていることは不可能です。php はサーバー側の言語なので、最初に実行され、その後に js が実行されます。どちらが最初に実行されるかを制御する方法はありません。AJAX を使用して変数を取得する必要があります。

于 2012-05-19T04:04:57.857 に答える
1

この方法論を使用してこれを行うことはできません。PHP はサーバー側コード、つまりサーバー上で実行されることを意味しますが、JavaScript はクライアント側コード、つまりクライアントまたはブラウザーで実行されることを意味します。

PHP が実行されると、HTML ドキュメントが生成され、ブラウザへの応答としてそのドキュメントが送信されます。それが完了したら、データをサーバーに戻す唯一の方法は、フォーム POST 経由で送信するか、AJAX 経由で送信するか、スクリプト タグ リモーティング経由で送信することです。

フォームおよび AJAX を介してサーバーにデータを POST する方法のインターネット上の例をいくつか見てみましょう。プログラムを適切に設計する方法に関するいくつかの概念に苦労していることは明らかです。いくつかの例を見ることは、これらの手法を学び、習得するための優れた方法です。

于 2012-05-19T04:05:17.607 に答える
1

このようなものが動作します:

<script type="text/javascript">
var messages = <?= json_encode($message) ?>;

function cancel(number) {
    var message = messages[number];
}
</script>

もちろん、これは JavaScript ソース内の配列全体を出力します。サイズが大きい場合は、AJAX を使用することをお勧めします。

ヒント: 「ソースを表示」すれば、メソッドが機能しない理由が痛々しいほど明白になるはずです。

于 2012-05-19T04:07:33.703 に答える
-2

問題を解決するには、AJAX 呼び出しを使用する必要があります。

于 2012-05-19T04:05:14.610 に答える