2011-05-27 31 views
2

部屋, 我创建FormPanel中一个新的窗口:ExtJS的:打开时FormPanel中提交功能用于

inputForm = new Ext.FormPanel({ 
    id:'inputForm', 
    frame: true, 
    closable:true, 
    collapsible:true, 
    renderTo:'somewhere', 
    layout:'anchor', 
    standardSubmit:true, 
    method: 'post', 
    items:[{ ... }] 
)}; 

,并使用此提交按钮:

text:'run', 
    id: 'runButton', 
    handler:function(){ 
     Ext.getCmp('inputForm').getForm().submit(); 
    } 

我怎么能打开提交页面在新窗口/选项卡????

+0

你是什么意思“提交”页面?它只是一个表示成功的页面,还是会显示一些基于用户表单提交的搜索结果/信息? – JamesHalsall 2011-05-29 11:24:08

+0

@jaitsu:或许他想将表单提交到新窗口/标签,如下所示:

' – 2011-05-30 03:13:15

+0

你会更好地使用Ajax提交,然后在成功打开一个页面 – JamesHalsall 2011-05-30 08:08:52

回答

1

有您解决您的问题,..因为我看到你的问题为2天前..

我这是怎么定义的形式:

var inputForm = new Ext.FormPanel({ 
    id:'inputForm', 
    method : "POST", 
    url : "blablabla.php", 
    items : [{...}] 
    //standardSubmit : true // i do not need standardSubmit 
}); 

和我的按钮,

text:'run', 
    id: 'runButton', 
    handler:function(){ 
    //Ext.getCmp('inputForm').getForm().submit(); 
    var form = Ext.getCmp('inputForm').getForm(); // or inputForm.getForm(); 
    var el = form.getEl().dom; 
    var target = document.createAttribute("target"); 
    target.nodeValue = "_blank"; 
    el.setAttributeNode(target); 
    el.action = form.url; 
    el.submit(); 
    } 
3

请检查这个sencha forum link

相关的代码片段:

form.submit({ 
     target : '_blank', 
     url : 'refdata/exportToXLS.do' 
    });