extjs: открывать новое окно при использовании функции отправки FormPanel

Привет, я создаю 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();
  }

как я могу открыть страницу отправки в новом окне/вкладке????


person TekTimmy    schedule 27.05.2011    source источник
comment
Что вы подразумеваете под отправкой страницы? Это просто страница, которая говорит, что она была успешной, или она покажет некоторые результаты поиска/информацию на основе отправки формы пользователем?   -  person JamesHalsall    schedule 29.05.2011
comment
@jaitsu: может быть, он хочет отправить форму в новое окно/вкладку вот так <form action='blablabla' method='post' target='_blank'>   -  person Egy Mohammad Erdin    schedule 30.05.2011
comment
Вам было бы намного лучше использовать отправку Ajax, а затем при успешном открытии страницы   -  person JamesHalsall    schedule 30.05.2011


Ответы (2)


Проверьте эту ссылку на форум sencha.

Соответствующий фрагмент кода:

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

Вы решили свою проблему, потому что я вижу, что ваш вопрос был 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(); 
  }
person Egy Mohammad Erdin    schedule 30.05.2011