首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在geoext.form.formpanel‏‏中替换协议

如何在geoext.form.formpanel‏‏中替换协议
EN

Stack Overflow用户
提问于 2013-01-15 10:40:01
回答 1查看 200关注 0票数 0

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

  1. 为了呈现表单面板,我将变量" proto“定义为空(var proto= null)。
  2. 然后"proto“进入模板(协议: proto)。
  3. 在按钮的处理程序函数中,定义了一个新变量"proto“。我想在模板中替换这个新变量。

由于extjs、geoext、openlayers都是javascript库,所以我尝试了一些东西,比如"eval“,使处理程序中的变量"proto”可以在窗体面板中访问,但到目前为止还没有结果。这里是一个简单的例子来说明这一点:

代码语言:javascript
复制
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...
            })
        }
    }]
})

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

诚挚的问候,

格瑞

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-14 16:22:34

解决方案是只使用"protocol.options.url = newUrl;“而不是使用protocol.destroy();或protocol.read();一个完整的解释是here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14335932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档