0

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

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
 });
}
4

1 回答 1

1

我会做类似的事情:

在组合框加载成功事件时,调用表单的加载方法/发出 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') 将在组合框加载时捕获,并将调用该函数来填充/加载表单。

于 2012-12-26T14:29:47.053 回答