4


1

jqgrid値をフォームフィールドとして送信するにはどうすればよいですか?

ユーザーがユーザー名、電話などの従来のフォームフィールドに入力するフォーム内でjqGridを使用しようとしています。 フォームには、ユーザーが行を追加/編集/削除できる行項目用のjqGridが含まれ、完了したらフォーム全体を送信します。 グリッドを表示したいとおりに機能させていますが、グリッドの内容を含むフォームの一部として送信できません。

これは疑似コードの例です。

Your name

Enter your choices in the grid below:

私は検索、グーグル検索、ドキュメントの読み取り、ウィキの読み取りなどを行いましたが、jqGridの行と列をフォームフィールドとして渡す方法がわかりません。 どんなガイダンスもいただければ幸いです。

1 Answer


2


おそらくこれを行う最良の方法は、非表示のフォームフィールドを使用することです。


次に、フォームを送信する前に、フィールドに列データを入力します。 グリッドデータの変更に応じてフィールドを更新するか、ボタンを押してフォームを送信するときにJavaScript関数を呼び出す(およびその関数内からフォーム「submit」を呼び出す)ことで、これを行うことができます。

グリッドデータを非表示フィールドに書き込むには、グリッドの各行で `getRowData`を連続して呼び出し、各行のデータを配列に追加します。 または、おそらくもっと良い方法があります。 たとえば、動作する可能性のある新しい「データ」オプションがありますか? とにかく、グリッドデータを取得したら、http://www.json.org/js.html [json2.js]を使用してデータをJSON形式にシリアル化できます。

JSON.stringify( myGridData );

サーバーで、この非表示フィールドからJSONをデコードし、それに応じて処理できます。