Показать сообщение отдельно
  #8 (permalink)  
Старый 14.08.2014, 18:18
Интересующийся
Отправить личное сообщение для maksimka2112 Посмотреть профиль Найти все сообщения от maksimka2112
 
Регистрация: 07.08.2014
Сообщений: 25

Сообщение от siber-biber Посмотреть сообщение
вы похоже store.load() вызываете до того как вызываете render.. а судя по логике вашего обработчика 'actioncomplete' на сторе должно быть наоборот
а я как бы форму гружу, сторе персонально не идентифицирую...

Сообщение от Raydezm Посмотреть сообщение
Создать новое поле в классе, записать туда пришедшие данные, на afterlayout прочитать их и действовать по необходимой логике.

Что-то вроде

this.lastAction = action.type

, а потом в afterlayout

if (this.lastAction == 'load'){ ...
Большое спасибо! Ваш совет помог. Я вот как сделал:

Так как у меня таб панель, то второй вкладке задую такие параметры:
disabled: true,
	id: 'tehobId',

Далее прописываю события для данной вкладки:
'actioncomplete': { fn: function(form, action){
            var p044_chk=document.getElementsByName('p0442_c06');
            if (action.type=='load'){
                Ext.getCmp('tehobId').enable();
                    if (action.result.data.p0442_c06==1){
                        this.lastAction = 'goodLoad';
                    }else{
                        this.lastAction = 'badLoad';
                    }
            }
            
            }, scope: this, single: true },
            'afterlayout': { fn: function(form, action){
                if (this.lastAction == 'goodLoad'){
                    document.getElementsByName('p0442_c06')[0].checked=true;
                }
                if (this.lastAction == 'badLoad'){
                    document.getElementsByName('p0442_c06')[1].checked=true;
                }
            }, scope: this, single: true}


И напоследок на всякий случай (мало ли - ответ с сервера не придёт или ещё что) делаю активной вкладку:
setTimeout(function() {
Ext.getCmp('tehobId').enable();
},6500);


Как-то так. Может не совсем всё правильно. Но вроде работает.
Ответить с цитированием