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...
})
}
}]
})
我怎麼能這樣做?我會感謝您的支持,提前致謝。
此致
格里