Заглавная страница | Поддержка | Форумы | Обсуждение продукта CourseLab

работа с объектом "текстовый ввод"

работа с объектом "текстовый ввод" 
Автор:  Роман
Дата: 26.09.2010 20:58:15
Здравствуйте!

возникла необходимость в объект "текстовый ввод" с ограничением длины ввода в один символ разрешить вводить только цифры (или буквы).
пробовал это реализовать через действие по переходу из поля: серия проверок соответствия значения введенной переменной VAR цифре, в случае если значение - не цифра, выводил предупреждение и через метод стирал введенное неверное значение
ЕСЛИ #VAR!=0&&#VAR!=1&&...#VAR!=9
ПРЕДУПРЕЖДЕНИЕ "введите цифру!"
МЕТОД OBJ_ SETVALUE

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

и вторая часть вопроса. необходимо, чтобы также в односимвольные поля вводились буквы только в верхнем регистре. можно по аналогии реализовать небоскреб проверок типа
ЕСЛИ #VAR=="а"
ПЕРЕМЕННАЯ VAR SETVALUE "А"
......
ЕСЛИ #VAR=="я"
ПЕРЕМЕННАЯ VAR SETVALUE "Я"
но при наличии таких полей в количестве нескольких десятков можно просто сойти с ума, делая копипаст и исправляя имена переменной...

пожалуйста, помогите!  
...
Re: (1) работа с объектом "текстовый ввод" 
Автор:  Администратор
Дата: 04.10.2010 21:32:59
Роман, добрый день!

Без JAVASCRIPT по-простому не обойтись.

Пусть переменная поля называется fieldvalue. Введем еще одну переменную correct - булевскую c начальным значением false. Обе переменные имеют область действия - слайд. Событие, по которому проверка будет запускаться - это уж как вам нужно по логике.
1. Только цифры
JAVASCRIPT g_arSlideVars["correct"] = (!isNaN(parseInt(g_arSlideVars["fieldvalue"], 10)));
ЕСЛИ #correct==false
_ ПРЕДУПРЕЖДЕНИЕ "введите цифру!"
_ МЕТОД OBJ_ SETVALUE
2. Только верхний регистр
а) Проверка и ругательство
JAVASCRIPT g_arSlideVars["correct"] = (g_arSlideVars["fieldvalue"]==g_arSlideVars["fieldvalue"].toUpperCase());
ЕСЛИ #correct==false
_ ПРЕДУПРЕЖДЕНИЕ "введите верхний регистр!"
_ МЕТОД OBJ_ SETVALUE
б) автоматическая замена
JAVASCRIPT g_arSlideVars["fieldvalue"] = g_arSlideVars["fieldvalue"].toUpperCase());
МЕТОД OBJ_ SETVALUE (#fieldvalue)
 
...

Ответ

Автор:
Электронная почта:
Заголовок сообщения:
Картинка сообщения:
Текст сообщения:
Добавить в текст:
 
Перейти к теме: