2

ドロップダウンリストからの選択を使用してmySQLテーブルにデータを入力するHTMLフォームがありますが、jQuery / AJAXを使用して外部phpファイルを呼び出し、元のフォームの下に入力された行の表示を更新します。

フォームの目的は注文入力システムであり、そのように機能します。アイテムを選択し、リストに追加されていることを確認します。私が抱えている問題は、入力されたアイテムを表示するだけでなく、更新された合計注文値を表示したいということです。PHPのセッション変数を使用できると思いましたが、元のページを更新しないとうまくいかないようです。

したがって、私の質問は次のとおりです。表示されたページに追加しているHTMLだけでなく、外部のphpファイルからセッション変数(または他の種類の変数)を取得する方法はありますか?

これが役立つ場合は、新しい行を追加するときに外部phpを呼び出すために使用しているコードです。

$.ajax({
type: "POST",
url: "ajaxInsertOrderLine.php",
data: dataString,
cache: false,
success: function(html){
    $("#orderItems").append(html);
    document.getElementById('inputStockNo').value='';
    document.getElementById('qty').value='';
    document.getElementById('totalAmount').value="<?php echo $_SESSION["totalValue"]; ?>";
}});

ここで、「ajaxInsertOrderLine.php」は外部ファイルです。「inputStockNo」と「qty」は、スクリプトに送信され、挿入が成功するとゼロになる2つのフォーム変数です。

4

4 に答える 4

4

多くの値を配列の形式で jQuery スクリプトに渡すことができます。たとえば、次のように渡すことができます。

session_start(); // necessary for getting/setting SESSION data
print json_encode(array(
  "username" => $_SESSION["username"],
  "msgCount" => 0,
  "userHTML" => "<p>There are no new messages</p>";
));

次に、jQuery コードから、データ取得の JSON メソッドを使用します。

$.post("page.php", {}, function(results) {
  alert(results.username + " has " + results.msgCount + " messages.");
  $("messages").append(results.userHTML);
}, "json");
于 2009-12-14T14:24:25.990 に答える
2

取得する 2 つの異なる変数を含むJson オブジェクトを (おそらくgetJSONを使用して) 返すことができます。1 つは追加する html で、もう 1 つは合計注文値です。

于 2009-12-14T14:23:28.380 に答える
2

セッション変数のアイデアを破棄しないのはなぜですか? サーバーのphpページで合計注文額を計算し、リストに追加するアイテムと一緒に値を送り返すだけですか?

于 2009-12-14T14:25:21.743 に答える
0

私はここでスクリプトを見つけました:私が望むことを実行し、AJAXでセッション変数を使用しようとしている他の人を助けるかもしれないJavascriptセッション変数。

于 2009-12-14T15:25:50.460 に答える