如何仅在表单字段完全加载后发出Ext.Ajax.request
我有一个函数,它使用以下代码获取表单值-如何仅在表单字段完全加载后发出Ext.Ajax.request,ajax,extjs,Ajax,Extjs,我有一个函数,它使用以下代码获取表单值- var formValues = this.myForm.getForm().getValues(); MyForm包含一个用表单加载的组合框。(组合加载和表单加载有两个单独的请求) 由于这两个请求同时加载,上述代码不会返回组合值,因为它们仍在加载 有没有办法检查是否加载了组合值,然后只发送ajax表单加载请求,这样上面的代码就会有所有表单值 编辑: LoadComboBox函数只是用一些存储来填充数据 下面是表单加载的代码- loadFormGrid
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'
)将在组合框加载时捕获,并调用函数来填充/加载表单 一个更新-我不能在组合框加载中进行更改,我只能更改表单加载method@ShikhaShah,如何加载组合框和表单?你能用代码的演示创建一个小提琴吗?或者在您的问题中粘贴一些代码?解决方案看起来不错。但是我不能在组合加载中进行更改。在获取表单值之前,我想检查是否所有表单字段都已完成加载(我想我只能在loadFormGrid()中完成)。@ShikhaShag,然后您必须硬编码检索comboxbox的选定值,并检查它是否已加载。所以,combobox.getValue()。