0
我一直在挠我的头,我想知道这是否可能。我想更换GeoExt.form.FormPanel的协议通过以下方式:如何替换协议geoext.form.formpanel
- 呈现FormPanel中,我定义的变量“原”为空的FormPanel中(VAR原=空)的外部。
- 然后“proto”进入formpanel(protocol:proto)。
- 在按钮的处理函数中定义了一个新变量“proto”。我想在formpanel中替换这个新的变量。
既然extjs,geoext,openlayers都是javascript库,我已经尝试了诸如“eval”之类的东西,以便可以在formpanel中访问处理程序中的变量“proto”,但目前还没有运气。这里是一个简单的例子来说明这一点:
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...
})
}
}]
})
我怎么能这样做?我会感谢您的支持,提前致谢。
此致
格里