Показать сообщение отдельно
  #8 (permalink)  
Старый 28.04.2014, 20:00
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

Сообщение от programmer_rulit Посмотреть сообщение
Вот код, который вызывает открытие окна
function showWindow(w,h,title,m,s,close){
        if(!win){
                var win = new Ext.Window({
                        width: w,
                        height: h,
                        title: title,
                        html:m,
			autoScroll: true,
                        layout:'fit',
                        bodyStyle:{'background-color': '#e4e4e4','background': s}
                })   
  
        }}


вот, функция рабочая, никаких проблем нету. Нужно всего-лишь, чтобы при повторном вызове данной функции, не открывалось новое окно, а все происходило в существующем.
очевидно же все ..у вас переменная win локальная. и когда вызывается функция это условие всегда true:
if(!win){
поэтому новое окошко создается каждый раз.

либо сделайте переменную глобальной (плохая практика), либо храните ссылку на окно в свойстве подходящего по смыслу объекта.
function showWindow(w,h,title,m,s,close){
        if(!App.win){
                App.win = new Ext.Window({
                        width: w,
                        height: h,
                        title: title,
                        html:m,
			autoScroll: true,
                        layout:'fit',
                        bodyStyle:{'background-color': '#e4e4e4','background': s}
                })   
  
        }}
Ответить с цитированием