我有多个表单,我希望在一次Ext.Ajax.request
调用中传递所有表单中的值。我怎么能这样做?
var forme1 = this.form1.getForm().getFieldValues();
var forme2 = this.form2.getForm().getFieldValues();
var forme3 = this.form3.getForm().getFieldValues();
var forme=new Array(forme1,forme2,forme3);
Ext.Ajax.request(
{
url: 'save.php',
params: forme
});
答案 0 :(得分:4)
使用Ext.apply将表单值对象合并在一起:
var values = this.form1.getForm().getFieldValues();
Ext.apply(values, this.form2.getForm().getFieldValues());
Ext.apply(values, this.form3.getForm().getFieldValues());
Ext.Ajax.request({
url: 'save.php',
params: values
});
答案 1 :(得分:1)
我只想使用一个对象
var forme1 = this.form1.getForm().getFieldValues();
var forme2 = this.form2.getForm().getFieldValues();
var forme3 = this.form3.getForm().getFieldValues();
var forme = Ext.Object.merge(forme1,forme2,forme3);
Ext.Ajax.request(
{
url: 'save.php',
params: forme
});
答案 2 :(得分:0)
如果需要在单个请求中提交所有值,我会使用具有多个字段集的单个FormPanel。这样Ext就可以为你做很多工作。
否则你需要做这样的事情。
Ext.Ajax.request({
url: 'SomeUrl',
params: Ext.encode({
formData1: myForm1.getValues(),
formData2: myForm2.getValues(),
formData3: myForm3.getValues(),
}),
method: 'POST'
...
})