我在Ext JS 3.4中有一个表单:
function exportIE() {
//var date = new Date();
//Ext.getCmp('resolvedID').setValue(date);
// create the window on the first click and reuse on subsequent
// clicks
if (!winie) {
winie = new Ext.Window(
{
// applyTo:'hello-win',
id : 'ie-cl',
layout : 'fit',
width : 400,
height : 100,
closeAction : 'hide',
plain : true,
title : 'Export Individual User Issues to Excel',
items : ieform,
buttons : [
{
text : 'Submit',
handler : function() {
var url = "$baseUrl/plugins/servlet/timesheet/exportindividualtoexcel?project=$project&month=$month&year=$year&filtered=true";
if(ieform.getForm().isValid()){
winie.hide();
ieform
.getForm()
.submit(
{
waitMsg : 'Sending...',
url : url,
method: 'GET',
success : function(
response,
options) {
quickcreateform
.getForm()
.reset();
/*Ext.MessageBox
.alert(
'Success',
'Issue resloved');*/
//eraseCookie('timeout');
//eraseCookie('counter');
store.reload();
//storechart.loadData();
storechart.reload();
},
failure : function(
response,
options) {
/*Ext.MessageBox
.alert(
'Error',
'Unable to create issue');*/
//eraseCookie('timeout');
//eraseCookie('counter');
quickcreateform
.getForm()
.reset();
store.reload();
//storechart.loadData();
storechart.reload();
}
});
}
}
}, {
text : 'Close',
handler : function() {
ieform.getForm().reset();
//store.reload();
winie.hide();
}
} ]
});
}
winie.show(this);
}
因此,此表单是为下载Apache POI MS Excel文件而制作的,因此我需要将其添加到表单提交成功函数中:
document.location = request.url;
那我该怎么做?
所以我需要提交GET URL的URL。
答案 0 :(得分:0)
用于提交表单的网址可从提交中使用的Ext.form.Action
获得:
action.getUrl(true)
其中true
参数表明它是GET情况,因此需要将表单参数附加到URL。有关详细信息,请参阅source code。
action
对象可从success
函数作为其第二个参数(如documentation所示):
success: function(form, action) {
}
(请注意,由于某种原因,您的代码正在命名参数response
和options
。
所以,你只需从成功函数中取出第二个参数并在其上调用getUrl(true)
。
答案 1 :(得分:0)
基于上面我制作了这段代码,现在它可以工作:
var users = Ext.getCmp('select-user-combo').getValue();
document.location = options.getUrl(false)+"&users="+users;