我有一个函数,该函数使用以下代码获取表单值 -
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
});
}
我会做类似的事情:
在组合框加载的成功事件中,调用表单的加载方法/使您的AJAX请求填充表单的字段。
编辑:这是我的意思:
您实例化组合的地方可能看起来像:
var combo = new Ext.form.ComboBox({
store : new someStoreType({
//add to catch the loaded event
listeners : {
'load' : function(store, recs, options){
loadFormGrid();
}
}
})
});
在加载组合框时,上面的商店侦听器('load'
)将捕获,并将调用该功能以填充/加载表单。