0

いくつかの計算を行うために、デフォルトでphpで呼び出してユーザーの入力フィールドに表示する変数がありますが、ユーザーは値を変更できます。値を取得するためにJavaScriptを使用していますが、更新されません。その値は常にデフォルト値を保持します。

4

1 に答える 1

0

うーん...ここにいくつか...

まず、コードはありません。ですから、あなたが何をしようとしているのかわかりません。

したがって、ある種のグローバル変数について話していると仮定します($foo = 10スクリプトのどこかで宣言しただけでは、それを取得できません。スクリプトは、ページが出力されるまでに解析を完了しています)。

$_COOKIE['some_value']では、変更したい変数としてを持っているとしましょう。アイデアは、それを更新するいくつかのphpファイルにajax呼び出しを行うことです。だからあなたは持っているかもしれません

//change_value.php

setcookie($_GET['cookie_name'], $_GET['new_value']);

また、ライブラリ (ここでは jQuery) を使用して ajax 呼び出しを行うこともできます。

$.ajax({
  url: 'change_value.php',
  data: 'cookie_name=bar&new_value=' + new_value //new value is a variable in javascript,
  success: function(data) {
    alert("Success");
  }
});

ここでjQueryを使用したajaxの詳細を読むことができますhttp://api.jquery.com/jQuery.ajax/

上記の例では、 によって出力された戻りデータも取り戻されchange_value.phpます。そのため、change_value.php を更新して、指定されている場合は値を変更し、(新しい) 値に関係なく出力することができます (取得できるようになります)。

もちろん、Cookie を使用すると、JavaScript で直接行うことができますが、これは単なる例です。セッションがある場合は、同じアプローチを使用できます。

于 2012-05-30T13:34:11.457 に答える