2011-05-27 58 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' 
    });