1

ウェブで検索していて、適切な答えが見つからないようで、ExtJSgetFormValues応答タイプの構造をコントローラーが期待する構造に変更する必要があるという問題に誰かが直面していることを願っています。

例えば

form.a = "I'm A"
form.b = "I'm B"
form.c = "I'm C"

からの JSON は次のgetFieldValues()とおりです。

"fom_name":{
  "a": "I'm A",
  "b": "I'm B",
  "c": "I'm C"
}

ただし、コントローラー構造に必要なのは

{
    "form_name": {
        "nestedArray": [{
            "a": "I'm A",
            "b": "I'm B",
            "c": "I'm C"
        }],
        "array2": []
    }
}

フィールド値を反復処理して構造に合わせてその場で変更できることはわかっていますが、これを実行できる一般的なソリューションを探しています。

何かご意見は?

ありがとう、

イアン。

4

1 に答える 1

1

フィールド値を反復処理して、構造に合わせてその場で変更できることを知っています

それはかなり些細なことのようで、これを行うより簡単な方法はないと思うので、おそらくこれを行うだけです。必要に応じてオーバーライドとして含めることができます ( Ext.form.Basic.getFieldValues ):

Ext.override(Ext.form.Basic, {
    getFieldValues: function(dirtyOnly) {

        //return this.getValues(false, dirtyOnly, false, true);

        var vals = this.getValues(false, dirtyOnly, false, true);

        var output = {};
        //iterate through vals and structure it the way you want it
        return output;
    },
});
于 2013-03-19T15:18:40.983 に答える