Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 31.03.2004, 19:58
Krisha вне форума Посмотреть профиль Отправить личное сообщение для Krisha Найти все сообщения от Krisha
  № 1  
Krisha

Регистрация: Aug 2002
Адрес: Limassol, Cyprus
Сообщений: 89
Отправить сообщение для Krisha с помощью ICQ
По умолчанию Не отрабатывает проверка.

Есть кнопка у которой есть следующий код:

if ( myFunction() )
{
trace ("ok");
} else {
trace ("oops");
}

код функции:


function getFailedLessons (ChapterID)
{
trace("getFailedLessons:");

query = new LoadVars();
query.action = "getFailedLessons";
query.ChapterID = ChapterID;

query.sendAndLoad(_root.scriptName, query, 'POST');

query.onLoad = function()
{
if (this.FailedLessons != undefined)
{
return false;
} else {
return true;
}
};
}

Как сделать так, чтобы пока функция не отработала проверка в кнопке не срабатывала, а то получается так, что данные еще не получены, а проверка уже срабатывает и выводит oops

Старый 31.03.2004, 22:36
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 2  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
будь проще :)

убрать проверку и всё что там происходит с кнопки, и поместить это всё прямо в онЛоад.

а на кнопке написать только вызов getFailedLessons (ChapterID);

Старый 31.03.2004, 23:01
Krisha вне форума Посмотреть профиль Отправить личное сообщение для Krisha Найти все сообщения от Krisha
  № 3  
Krisha

Регистрация: Aug 2002
Адрес: Limassol, Cyprus
Сообщений: 89
Отправить сообщение для Krisha с помощью ICQ
Можно конечно и так сделать, но тогда теряется весь смысл, функция не должна знать ничего о других, её задача получить данные, обработать их вернуть результат. А приложение уже должно в зависимости от результата реагировать...

У меня таких функций несколько предполагается, не могут же все они быть друг в друге ?

Старый 31.03.2004, 23:14
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 4  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) Krisha
её задача получить данные, обработать их вернуть результат. А приложение уже должно в зависимости от результата реагировать...
смысл тогда не теряется - а как раз таки появляется :)

ты уже нарушил принцип инкапсуляции, как только стал пользоваться в функции внешней переменной: query = new LoadVars(); - так какая разница ? :)

я обычно передаю в функцию, которая стартует загрузку чего-то в качестве параметра ссылку на функцию, которой надо отдать результат операции, каков бы он ни был.

если хочешь чтобы всё было чисто - делай так.
но надо ли оно тебе ? :)

Код:
loadData = function (source, parser) {
	var loader = new LoadVars();
	loader.parser = parser;
	loader.onData = function(result) {
		this.parser(result);		
	};
	loader.load(source);
};
если ты грузишь переменные в виде строки запроса, и хочешь воспользоваться автоматическим раскодированием этого дела в переменные, как это делает объект LoadVars - то ничто не мешает вызвать метод раскодирования явно :)

LoadVars.decode(query_string)

Создать новую тему   Часовой пояс GMT +4, время: 07:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:24.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.