Ext JS 4 を使用して単純な管理者 UI を作成しています。Sencha の Web サイトのこの例から始めました。フォームにチェック ボックス グループ (4 つのオプション) を追加し、フォームの下のグリッドで選択したレコードに基づいてボックスを動的にチェックします。すべて正常に動作していますが、データをサーバーに送信すると、チェック ボックス グループからのデータの形式が、クリックされたボタンによって異なります。
たとえば、レコードを編集して保存ボタンをクリックすると、Ext JS はチェック ボックスのチェック状態に対応する真/偽の値を持つ配列を送信します。
{"available": [true, true, false, false]}
まったく新しいレコードを作成して追加ボタンをクリックすると、Ext JS はチェックされたチェック ボックスの名前を含む配列を送信します。
{"available": ["Selection_1", "Selection_2", "Selection_3"]}
最後に、新しいレコードを作成して追加ボタンをクリックし、チェック ボックスを 1 つだけオンにすると、Ext JS は単一の文字列値を送信します (2 番目の例で送信した配列とは対照的です)。
{available": "Selection_1"}
Ext JS がこれを行うのはなぜですか? これにより、サーバー側でのデータの取り扱いが困難になります。さらに、保存ボタンがデータをサーバーに送信する方法をオーバーライドして、追加ボタンが送信するのと同じ形式で送信する方法はありますか? ありがとうございました!