2014-09-24 5 views
0

У меня есть кнопка, которую я бы хотел нажать и взять меня на веб-страницу. Мне нужно включить post данные с запросом и хотел бы получить HTML для размещения внутри iframe.ExtJS POST на кнопке Нажмите

Это то, что я думаю, что код будет выглядеть

buttons: [ 
     { 
      text: "link", 
      handler: function(){ 
       Ext.Ajax.request({ 
        url: 'http://www.createbarcode.com/', 
        method: 'POST', 
        params: { 
         barcodeData: Ext.getCmp('BarcodeField') 
        }, 
        success: function(response, conn) { 
         //Create iframe window with response HTML 
        }, 
        failure: function(response, conn) { 
         var data = Ext.decode(response.responseText); 
         alert("Failure: " + data.msg); 
        } 
       }); 
      } 
     } 
    ] 

Спасибо.

+0

так что конкретно вопрос? – lascort

+0

Имея href: «www.google.com», цель: «_blank» на кнопке приведет вас к веб-странице на новой вкладке. Как включить данные POST и открыть веб-страницу на новой вкладке? – user4067565

+0

Почему вы хотите открыть веб-страницу на новой вкладке? Если вы это сделаете, приложение Ext JS не сможет узнать о результатах ответа. Похоже, вам нужно лучше спроектировать и описать, что вам нужно сделать, а затем спросить о том, как это сделать. – existdissolve

ответ

0

Это то, что я в конечном итоге делает, не уверен, если его право, но это работает, и может указать кого-то в правильном направлении

//Load scripts 
    Ext.Loader.loadScript('bwip-js/bwip.js'); 
    Ext.Loader.loadScript('bwip-js/lib/baropts.js'); 
    Ext.Loader.loadScript('bwip-js/lib/canvas.js'); 
    Ext.Loader.loadScript('bwip-js/lib/jquery-1.4.1.js'); 
    Ext.Loader.loadScript('bwip-js/lib/needyoffset.js'); 
    Ext.Loader.loadScript('bwip-js/lib/symdesc.js'); 
    Ext.Loader.loadScript('bwip-js/bwipp/code128.js'); 

Это было в значительной степени скопированный из bwipjs демо кода

buttons: [ 
     { 
      text: 'Generate Code', 
      handler: function(){ 
       var elt = Ext.getCmp('symbol').getValue(); 
       var text = Ext.getCmp('symtext').getValue().replace(/^\s+/,'').replace(/\s+$/,''); 
       var altx = Ext.getCmp('symaltx').getValue().replace(/^\s+/,'').replace(/\s+$/,''); 
       var opts = Ext.getCmp('symopts').getValue().replace(/^\s+/,'').replace(/\s+$/,''); 

       BWIPJS.load = function(path) { 
       } 

       var bw = new BWIPJS; 

       var tmp = opts.split(' '); 
       opts = {}; 
       for (var i = 0; i < tmp.length; i++) { 
        if (!tmp[i]) 
         continue; 
        var eq = tmp[i].indexOf('='); 
        if (eq == -1) 
         opts[tmp[i]] = bw.value(true); 
        else 
         opts[tmp[i].substr(0, eq)] = bw.value(tmp[i].substr(eq+1)); 
       } 

       // Add the alternate text 
       if (altx) 
        opts.alttext = bw.value(altx); 

       // Add any hard-coded options required to fix problems in the javascript 
       // emulation. 
       opts.inkspread = bw.value(0); 
       if (needyoffset[elt.sym] && !opts.textxalign && !opts.textyalign && 
        !opts.alttext && opts.textyoffset === undefined) 
        opts.textyoffset = bw.value(-10); 

       bw.bitmap(new Bitmap); 

       bw.scale(2,2); 

       bw.push(text); 
       bw.push(opts); 

       try { 
        bw.call(elt); 
        bw.bitmap().show('canvas','N'); 
       } catch(e) { 
        var s = ''; 
        if (e.fileName) 
         s += e.fileName + ' '; 
        if (e.lineNumber) 
         s += '[line ' + e.lineNumber + '] '; 
        alert(s + (s ? ': ' : '') + e.message + elt); 
       } 
      } 
     } 
    ] 
Смежные вопросы