如何替换geoext.form.formpanel中的协议



我一直在挠头,我想知道这是否可能。我想用以下方式替换GeoExt.form.FormPanel的协议:

  1. 渲染formpanel,我定义了一个变量"proto"为空的formpanel (var proto = null)。
  2. 然后"proto"进入formpanel (protocol: proto)。
  3. 在按钮的handler函数中定义了一个新的变量"proto"。我想在formpanel中替换这个新变量

由于extjs, geoext, openlayers是javascript库,我已经尝试了诸如"eval"之类的东西,使变量"proto"在处理程序中可以在formpanel中访问,但到目前为止还没有运气。下面是一个简化的示例:

var proto = null;
var formPanel = new GeoExt.form.FormPanel({
    protocol: proto,                # <--- replace with [1]
    items: [{
        xtype: "combo",
        id: "idcombo",
        etc...
    }, {
        xtype: "textfield",
        id: "idtext",
        etc...
    }],
    button:[{
        text: "search",
        handler: function() {
            formPanel.search();
            var combo = Ext.getCmp('idcombo').getValue();      # <--- this works and gets the value chosen in "xtype: combo"
            var proto: new OpenLayers.Protocol.HTTP({          # <--- [1] (ie. new variable "proto")
                url: "http://www.pub.pub/" + combo + "/somestuff/",    # <--- this works
                format: etc...
            })
        }
    }]
})

我怎么能这么做?我将感激你的支持,提前感谢。

最诚挚的问候,

盖瑞

解决方案是只使用"protocol.options "。而不是protocol.destroy();或者protocol.read();,完整的解释在这里

相关内容

  • 没有找到相关文章

最新更新