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

Вернуться   Форум Flasher.ru > Flash > Flex

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

Регистрация: Dec 2009
Сообщений: 41
По умолчанию Проблемы с Alret и фокусом

Здравствуйте все!
В моем проекте есть форма аторизации пользователя. Я проверяю наличие пользователя в базе данных, соответствие пароля и т.д. - все как обычно. При возникновении ошибок выдаю окошко Alert.show() с сообщением. Примерно так:
Код AS1/AS2:
switch (checkUser(txtLogin.text, txtPassword.text, dataArr))
     {
         case "NO_USER": //нет такого логина в базе
 		Alert.show("Пользователь " + txtLogin.text + " не зарегестрирован в системе.","Ошибка авторизации");
 		txtLogin.text = "";
 		txtPassword.text = "";
		stage.focus = txtLogin;
 		break;
 	 case "WRONG_PASS": //пароль забыл
 		Alert.show("Неверный пароль","Ошибка авторизации");
 		txtPassword.text = "";
 		stage.focus = txtPassword;
 	        break;
 	 case "SUCCESSFUL_LOGIN": //нормальный вход
 		initAdminCollections();
 		currentState="AdminUser";
 	        txtLogin.text = "";
 		txtPassword.text = "";
 		break;			 
 }
Проблема в том, что после появления сообщения об ошибке, фокус ввода остается в текстовых полях и там можно что-нибудь писать. Получается что Alert.show не отображается не модально. Есть способ это победить? Заранее спасибо всем.


Последний раз редактировалось spacecadet; 25.12.2009 в 17:51.
Старый 25.12.2009, 19:09
BeDLiNt вне форума Посмотреть профиль Отправить личное сообщение для BeDLiNt Найти все сообщения от BeDLiNt
  № 2  
Ответить с цитированием
BeDLiNt
 
Аватар для BeDLiNt

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
Фантастика какая-то, алерт по дефолту модальный:
Цитата:
The Alert control is modal, which means it will retain focus until the user closes it.
Вы там точно значение Alert.NONMODAL не подписываете?)
__________________
2+2=5

Старый 28.12.2009, 11:31
spacecadet вне форума Посмотреть профиль Отправить личное сообщение для spacecadet Найти все сообщения от spacecadet
  № 3  
Ответить с цитированием
spacecadet

Регистрация: Dec 2009
Сообщений: 41
Нет, ничего не прописываю, все по дефолту. Ощущение такое, что после появления окна сразу же выполняется код после Alert.show, поскольку после нажатия кнопки ОК очистки текстового поля не происходит. Хотя по логике этот код должен выполнятся после нажатия на кнопку!

Старый 29.12.2009, 16:11
BeDLiNt вне форума Посмотреть профиль Отправить личное сообщение для BeDLiNt Найти все сообщения от BeDLiNt
  № 4  
Ответить с цитированием
BeDLiNt
 
Аватар для BeDLiNt

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
Конечно код после Alert.show будет выполняться сразу. Если вы хотите сделать какое-то действие после нажатия вам надо сделать слушатель события для Alert.
Код AS3:
Alert.show("message", "title", Alert.OK | Alert.CANCEL, this, alertHandler, null, Alert.OK);
 
...
 
protected function alertHandler(event:CloseEvent):void
{
	if (event.detail == Alert.OK)
		trace("ok");
}
__________________
2+2=5

Старый 29.12.2009, 19:41
spacecadet вне форума Посмотреть профиль Отправить личное сообщение для spacecadet Найти все сообщения от spacecadet
  № 5  
Ответить с цитированием
spacecadet

Регистрация: Dec 2009
Сообщений: 41
Спасибо огромное, разобрался! Тема закрыта.

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

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

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


 


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


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