如何在完全加载表单字段后才能生成Ext.Ajax.request

时间:2012-12-26 14:25:21

标签: ajax extjs

我有一个使用以下代码来获取表单值的函数 -

var formValues = this.myForm.getForm().getValues();

MyForm包含一个加载形式的组合框。 (对组合加载和表单加载有两个单独的请求)

由于这两个请求同时加载,上面的代码不会返回仍然加载的组合值。

有没有办法检查是否加载了组合值,然后只发送表单加载的ajax请求,以便上面的代码将包含所有表单值?

编辑:

LoadComboBox函数只是用一些商店填充数据。

以下是表单加载的代码 -

loadFormGrid: function (){
var allValues = this.myForm.getForm().getValues(); // this do not consider combobox values

Ext.Ajax.request({
      params: {action: 'getList', data : allValues },

      // ... some code
 });
}

1 个答案:

答案 0 :(得分:1)

我会做类似的事情:

在组合框加载的成功事件中,调用表单的load方法/使你的ajax请求填充表单的字段。

修改 这就是我的意思:

实例化ComboBox的地方可能如下所示:

var combo = new Ext.form.ComboBox({
 store : new someStoreType({
           //add to catch the loaded event
           listeners : {
              'load' : function(store, recs, options){
                      loadFormGrid(); 
                  } 
            }
         })
});

上面的商店监听器('load')将在加载组合框时捕获,并将调用该函数来填充/加载表单。