我有一个使用以下代码来获取表单值的函数 -
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
});
}
答案 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'
)将在加载组合框时捕获,并将调用该函数来填充/加载表单。