按钮上的ExtJS POST单击

时间:2014-09-24 15:26:52

标签: extjs

我有一个按钮,我想按下并带我到一个网页。我需要在请求中包含帖子数据,并希望接收HTML以放入iframe。

这就是我认为代码看起来

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

感谢。

1 个答案:

答案 0 :(得分: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);
                }
            }
        }
    ]