0

現在、データベースからデータを取得し、グリッドに意図したとおりに表示する jqGrid ベースのアプリケーションがあります。インライン編集は無効です。既存のレコードの編集と新しいレコードの追加にモーダル フォームを使用しています。私が苦労しているのは、データが追加/編集されるプロセスにアクセスする方法です。たとえば、レコードを編集してフォームを送信すると、field=value ペアを含む POST が api.php に表示されます。例...

field1=test&field2=+2&oper=edit&id=1

上記のサンプル データでは、編集フォームを使用して field2 の値を変更しました。jQuery/jqGrid は値「2」の前に「+」を追加し、「oper=edit」を追加しました。最終的には、追加のフィールドと値を POST 文字列に追加する必要がありますが、その方法がわかりません。

===編集===
私の元の投稿にはフィードバックがなかったので、この編集が必要だと思います。

サンプル データの謎の '+' がどこから来ているかを突き止め、対処しました。しかし、それは重要ではありません。

私が達成しようとしていることについて考える別の方法は、データをサーバーに送信する前に、POST 文字列にフィールドを追加する必要があるということです。たとえば、静的に割り当てられた値を持つ静的に名前が付けられたフィールドを追加したい場合があります。結果の POST 文字列は次のようになります。

field1=test&field2=2&oper=edit&id=1&widget=1

このサンプルと前のサンプルの唯一の違いは、値が「1」の「widget」フィールドが追加されていることです。

4

1 に答える 1

0

私のソース データは PHP 経由で JSON 文字列として受信されたので、次のようにしました。

  1. PHP json_decode()
  2. ステップ 1 で得られた PHP 配列をループして、必要なキーと値のペアを追加しました
  3. PHP json_encode()
  4. ステップ 3 の json 文字列を PHP echo() で JS 変数に設定します。

ステップ 4 の JS 変数は、jqGrid データのソースとして使用されました。

ブーム!

単純。解決しました。

于 2013-09-16T20:19:10.377 に答える