Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   ввод чисел в поле определённого диапазона (http://www.flasher.ru/forum/showthread.php?t=133904)

Wadimir 16.12.2009 12:43

ввод чисел в поле определённого диапазона
 
Здравствуйте!

На сцене есть поле ввода. Как можно сделать чтобы в это поле можно было вводить только числа и только от 1 до 20?

mooncar 16.12.2009 12:53

Если просто ограничить цифрами, то так:
Код AS1/AS2:

tf.restrict = '0-9';

Если количество разрядов ограничить (например, двумя), то
Код AS1/AS2:

tf.maxChars2;

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

Добавлено через 10 минут
Можно сделать попроще.
Также ограничим ввод заранее только 2-мя разрядами и цифрами.
Если введенное больше 20 или меньше 1, просто стираем неподходящее число и заменяем его на число, введенное перед этим (одну цифру),
Код AS1/AS2:

tf.restrict = '0-9';
tf.maxChars2;
var oldText:String ; //временный буфер
 
tf.onChanged = function  () {
        if (Number(this.text) < 1 || Number(this.text) > 20) {
                this.text = oldText; //возвращаем введенное перед этим
        }
        oldText = this.text ;
}


Wadimir 16.12.2009 13:06

Спасибо


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

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