Forms ExtJS5下载Excel文件
我定义了一个表单,用于提交到PHP脚本,该脚本将使用PHPExcel创建Excel电子表格Forms ExtJS5下载Excel文件,forms,file,download,extjs5,Forms,File,Download,Extjs5,我定义了一个表单,用于提交到PHP脚本,该脚本将使用PHPExcel创建Excel电子表格 Ext.define('Admin.view.main.LedgerParams',{ extend: 'Ext.window.Window', xtype: 'ledgerparams', title: 'Generate Account Ledger', defaultFocus: '[name=period]', layout: 'f
Ext.define('Admin.view.main.LedgerParams',{
extend: 'Ext.window.Window',
xtype: 'ledgerparams',
title: 'Generate Account Ledger',
defaultFocus: '[name=period]',
layout: 'fit',
closable: false,
resizable: false,
modal : true,
standardSubmit: true,
items: [{
xtype: 'form',
layout: 'fit',
fieldDefaults: {labelWidth: 80,labelAlign: 'right'},
padding: 10,
items: [{
xtype: 'fieldset',
padding: 10,
title: '<b>Account Ledger Parameters</b>',
defaultType: 'numberfield',
defaults: {enforceMaxLength: true},
items:[{
name: 'period',
flex : 1,
fieldLabel: 'Fiscal Period',
selectOnFocus: true,
value: new Date().getFullYear(),
minValue: 1980
}]
}]
}],
buttons:[{
text: 'Generate',
handler: 'onClick_btnLedgerPrint'
},{
text: 'Cancel',
handler: function(){this.up('window').destroy();}
}]
});
但是,表单似乎需要从服务器发出JSON响应,而不是启动下载。ExtJS5中的标准提交是否被破坏?任何帮助都将不胜感激 JavaScript无法启动下载,与Ext JS相同。只有浏览器才能做到这一点
var formValues = btn.up('window').down('form').getForm().getValues();
var params = { action: 'print', reportname: 'generate_ledger' };
var requestParams = Ext.merge(formValues, params);
var url = 'app/data/Reports.php?' + Ext.Object.toQueryString(requestParams);
document.location = url;
或者,您可以尝试使用描述了iframe的方法
var formValues = btn.up('window').down('form').getForm().getValues();
var params = { action: 'print', reportname: 'generate_ledger' };
var requestParams = Ext.merge(formValues, params);
var url = 'app/data/Reports.php?' + Ext.Object.toQueryString(requestParams);
document.location = url;