1

次のようなアイテムがあるウィンドウがあります

items:{
        xtype:'form',
        items: [{
            xtype: 'numberfield',
            fieldLabel: '1',
            name: 'va[]'
        },{
            xtype: 'textfield',
            fieldLabel: '2',
            name: 'va[]'
        },{
            xtype: 'textfield',
            fieldLabel: '3',
            name: 'va[]'
        }]
    },

サーバーからフォームにデータを取得するためにロードフォームを使用しています

    var form = win.down('form').getForm();
    form.load({         
        url: 'load.php',
        success:function(form, action){
            win.show();         
        }
    });

私のjsonは次のようになります

{"success":true,"data":{"va":["1","2","3"]}}

しかし、ロードが成功した後の私のフォームは空白です(値が設定されていません)

ありがとうございます

4

1 に答える 1

1

にアクセスactionできますがresponse。その後、データを取得して手動で割り当てることができます。itemIdすべてのフィールドが同じ名前であるため、一意の名前が必要になる可能性があります。何かのようなもの:

form.load({
  url: 'load.php',
  success: function(form, action) {
    var me = this,
        data, i;
    try {
      data = Ext.decode(action.response.responseText);
      console.log(data); //outputs data.success, data.data.va in your console.
      if(data.data && Ext.isArray(data.data.va)) {
        for(i = 0; i < data.va.length; i++) {
          //here do your logic to populate the fields...
        } 
      }
    }catch(e){}
  }
});
于 2013-10-04T16:10:02.180 に答える