Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ограничение ввода текста (http://www.flasher.ru/forum/showthread.php?t=212797)

Jods 01.05.2016 12:38

Ограничение ввода текста
 
Добрый день! Есть задача - ограничить пользователя вводе символов. С этой задачей успешно справилась команда
Код AS3:

myTextBox.restrict = "";

Теперь, чтобы вернуть все символы какую я должен ввести команду? Или их необходимо всех по типам и видам расписать? Я написал так

Код AS3:

myTextBox.restrict = "А-Я";
myTextBox.restrict = "а-я";
myTextBox.restrict = "A-Z";
myTextBox.restrict = "a-z";
myTextBox.restrict = "0-9";

И как указать всякие дефисы и пробелы я не знаю, подскажите как ввернуть пользователю полный спектр символов для ввода

caseyryan 01.05.2016 17:08

Код AS3:

myTextBox.restrict = null;


Jods 01.05.2016 18:10

Не спасает, раньше он не давал лишних символов печатать, а при null дает..

undefined 01.05.2016 18:28

Код AS3:

tf.restrict=" -";


Jods 01.05.2016 18:31

Мне кажется дело в том, что я написал кривой код.
slova - массив со словами
myTextBox - туда куда вводит пользователь текст

Код AS3:

myTextBox.addEventListener (KeyboardEvent.KEY_UP, next); 
                function next (event:KeyboardEvent) {
                        if (myTextBox.text != "") {
                                if (slova[current].length == myTextBox.length + " "){
                                        myTextBox.restrict = "";
                                        }
                                if (slova[current].length > myTextBox.length + " "){
                                        myTextBox.restrict = null;
                                        }
                                trace(slova[current].length);
                        }


undefined 01.05.2016 18:32

рестрикт надо выставлять один раз сразу со всеми допустимыми символами.А то глядя на первый пост можно подумать, что ТС 6 раз присваивает этому полю разные значения.

Добавлено через 3 минуты
Цитата:

if (slova[current].length == myTextBox.length + " "){
Что это условие должно проверять, учитывая что сравнивается число со строкой?

Jods 01.05.2016 19:57

Код AS3:

if (slova[current].length == myTextBox.length + " "){

Это условие проверяет Если длина текущего слова == длине слова в поле для ввода текста + пробел, то выполняется условие..

По идее у меня сравнивается слово за словом и если пользователь ввел не верное слово, то включается рестикт и не дает ему печатать следующее слово, пока он не исправит это. Вот..

undefined 01.05.2016 20:11

Цитата:

Это условие проверяет Если длина текущего слова == длине слова в поле для ввода текста + пробел, то выполняется условие..
Длина - характеристика числовая и сравнивать её надо тоже с числом это раз.
У текстовых полей нет свойства length,зато у строки, которая возвращается свойством text(которое есть у текстфилдов) такое свойство есть это два.

Jods 01.05.2016 20:54

И как же мне сравнить по кол-ву символов в строках? Так?
Код AS3:

if (slova[current].length == myTextBox.text + " "){


Wolsh 01.05.2016 21:15

Цитата:

Сообщение от Jods (Сообщение 1193683)
И как же мне сравнить по кол-ву символов в строках?

Код AS3:

if (slova[current].length == myTextBox.text.length + 1){

undefined,
1) у текстовых полей ЕСТЬ свойство length.
2) здесь у ТС не TextField, a TextInput. Что не меняет сути дела, конечно.


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

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