|
Отловить событие потери фокуса полем ввода | ☑ | ||
---|---|---|---|---|
0
dizpers
22.05.12
✎
21:00
|
Есть поле ввода с датой. После ввода этой даты мне надо ее проверить - если дата меньше текущей, то вывести сообщение об ошибке, поставить фокус на поле ввода и ждать пока пользователь снова введет данные, как только ввел новые данные - снова проверить и тд
Пробую делать вот так на событие ПриИзменении поля вешаю процедуру с таким кодом (ДатаСеанса - реквизит документа, связанный с этим полем ввода) Если ДатаСеанса < НачалоДня(ТекущаяДата()) Тогда Режим = РежимДиалогаВопрос.ДаНет; Если Вопрос("Нельзя купить билет на старую дату. Установить сегодняшнюю дату?", Режим, 0) = КодВозвратаДиалога.Да Тогда ДатаСеанса = НачалоДня(ТекущаяДата()); Иначе Возврат КонецЕсли КонецЕсли; При этом что получаю - неправильно ввел дату, выпало сообщение об ошибке, нажал ДА - все ок, дата текущая. Но в другом кейсе - когда нажал нет, дата осталась введенная неправильно и при нажатии к примеру кнопки таб фокус переключается на след. элемент и в итоге - кривая дата в поле ввода. Первая идея, которая пришла в голову по поводу решения этой проблемы - как то отловить перевод фокуса на другой элемент. Но не знаю как сделать такое. Подскажите, пожалуйста, как такую проблему решить? |
|||
1
vicof
22.05.12
✎
21:20
|
Проверяй в событии ПередЗаписью
|
|||
2
МихаилМ
22.05.12
✎
21:23
|
"поставить снова фокус" - а если пользователь не хочет вводить данный а хочет закрыть окно
|
|||
3
dizpers
22.05.12
✎
21:26
|
(2) после установки фокуса нажмет esc
|
|||
4
dizpers
22.05.12
✎
21:27
|
(1) в зависимости от выбранной даты подгружаются различные массивы данных в списки выбора (фильмы по данной дате например)
а событие перед записью сработает когда по идее нажали ОК в форме документа |
|||
5
aleks-id
22.05.12
✎
21:28
|
Иначе
Сообщить("А вот хрен тебе, умник!"); ДатаСеанса = НачалоДня(ТекущаяДата()); КонецЕсли |
|||
6
dizpers
22.05.12
✎
21:32
|
(5) кстати, как вариант - не спрашивать пользователя вообще, если указал кривую дату, сообщить об этом и установить сегодняшнюю
|
|||
7
vicof
22.05.12
✎
21:55
|
(4) Так это проблемы пользователя уже. Захотел на одну дату, захотел - на другую.
|
|||
8
dizpers
22.05.12
✎
22:17
|
(7) Ну просто не логично продавать билеты на 1 января, если сейчас 23 мая. Я считаю, что такие проверки нужны.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |