У меня есть кнопка переключения:окно ExtJs не показывает
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*/]
});
Когда я закрываю окно, а затем кнопку ип -toggles. Но когда я снова нажимаю на него, я не получаю окна. Firebug показывает эту ошибку:
TypeError: b.dom is undefined
...String(this.enableUrlEncode)?this.enableUrlEncode:"data"]=Ext.encode(b);g.params...
Что может быть неправильно?
UPDATE
Окей, мой плохой. Я попытался показать уничтоженный элемент.
Но в этом случае:
1 Когда я закрываю окно и уничтожается, любые формы в этом окне также будут уничтожены?
2 Как я могу проверить, что окно уничтожено?
UPDATE2
Теперь я стараюсь эту функцию для создания окна:
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();
в функцию, то это окно показывает.
Что может быть неправильным?
'intWin' является локальной переменной и не доступна из функции –