2011-05-27 6 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

+0

@jaitsu: может быть, он хочет отправить форму в новое окно/табуляцию, как этот '

' –

+0

Вы бы гораздо лучше использовали Ajax submit, а затем при успешном открытии страницы – JamesHalsall

ответ

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' 
    });