トグルボタンがあります:
var button = new Ext.Button({
tooltip: "Интенсивность",
iconCls: "gxp-icon-intensity",
enableToggle:true,
toggleHandler: function (button, state) {
if(state){
alert(state)
map.getLayersByName("Интенсивность")[0].setVisibility(true);
intWin.show();
}else{
map.getLayersByName("Интенсивность")[0].setVisibility(false);
alert(intWin.collapsed);
//intWin.close();
}
}
});
ボタンを切り替えると、ウィンドウが表示されます。
var intWin = new Ext.Window({
id: 'intWin',
layout: 'fit',
title:'Интенсивность',
autoScroll:false,
width:300,
items:[/*intForm*/]
});
ウィンドウを閉じると、ボタンのトグルが解除されます。しかし、もう一度クリックしてもウィンドウが表示されません。Firebug には次のエラーが表示されます。
TypeError: b.dom is undefined
...String(this.enableUrlEncode)?this.enableUrlEncode:"data"]=Ext.encode(b);g.params...
ここで何が問題なのですか?
アップデート
オーケー、悪い。破壊された要素を表示しようとしました。
しかし、この場合:
1 ウィンドウを閉じて破棄すると、このウィンドウ内のフォームも破棄されますか?
2 ウィンドウが破棄されていることを確認するにはどうすればよいですか?
更新2
ここで、ウィンドウを作成するためにこの関数を試します。
function intWinCreate(){
var intWin = new Ext.Window({
id: 'intWin',
layout: 'fit',
title:'Интенсивность',
autoScroll:false,
width:300,
items:[/*intForm*/]
});
};
そしてボタンハンドラーで:
intWinCreate();
intWin.show();
しかし、私はエラーが発生します:
ReferenceError: intWin is not defined
関数に入れるintWin.show();
と、そのウィンドウが表示されます。
何が間違っている可能性がありますか?