Форум 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=114288)

marat_sa 24.07.2008 09:37

Запрет ввода символа переноса каретки
 
Добрый день, подскажите пожалуйста, как запретить в текстовом поле ввод символа новой строки (нажатие ENTER). Даже если поле Single Line, то при нажатии сочетания клавиш Ctrl+J все равно происходит перенос! (баг флэша). Пробовал через restrict = "^\u000D" - если не ошибаюсь, символ переноса в ASCII=13 => в 16-ричной равен D. Не работает!
Пробовал через одно место. Повесил на поле фунцию на onChanged
Код:

if (inputName.text.indexOf(String.fromCharCode(13)) != -1) {
        trace("deleteInvalidSymbol()");       
        var positionBadSymbol:Number = inputName.text.indexOf(String.fromCharCode(13))
        inputName.text = inputName.text.substring(0, positionBadSymbol) + inputName.text.substring(positionBadSymbol + 1, inputName.text.length);
}

Работает вроде, но если зажать клавиши и долго держать, все равно проскакивает символ. Я не знаю уже что делать :wacko:

etc 24.07.2008 12:31

restrict?

marat_sa 24.07.2008 13:23

Ну я же написал, что пробовал через restrict. А что в него включать-то?
inputName.restrict = "Key.ENTER" что ли? :-D

etc 24.07.2008 13:37

Нет, restrict не так пишется. Но он тут не поможет.

При таком коде:

Код:

txt.onChanged = function() {
        if (this.text.indexOf('\r') >= 0) {
                var index = Selection.getCaretIndex() - 1;
                this.text = this.text.split('\r').join('');
                Selection.setSelection(index, index);
        }
}

Мне не удалось ввести перевод строки, как бы быстро не вводил.

marat_sa 24.07.2008 14:21

Вложений: 1
Как restrict пишется я знаю, я просто пошутил.
А насчет функции, принцип действия примерно, как у моей. В них легко в конце строки ставится перенос. В принципе можно и на Key обработчик повешать на onKeyDown и onKeyUp.
Может все таки в restrict что-нить написать? Вводятся же там любые символы!!! Через unicode... типа такого:

my_txt.restrict = "\u0020-\u007E";

http://livedocs.adobe.com/flash/9.0/...=00002232.html

etc 25.07.2008 02:38

Да не работает restrict с переводами строк.

marat_sa 25.07.2008 08:38

Это как понимать? Казнить нельзя помиловать???
Какой вариант мне выбирать?
1) Да, не работает restrict с переводами строк.
2) Да не..., работает restrict с переводами строк.
O_o

etc 25.07.2008 16:49

Цитата:

Сообщение от marat_sa (Сообщение 754296)
Это как понимать? Казнить нельзя помиловать???
Какой вариант мне выбирать?
1) Да, не работает restrict с переводами строк.
2) Да не..., работает restrict с переводами строк.
O_o

Никакой, я запятые не забываю ставить, в случае чего. В данном случае, запятых вообще нет.

H!t 25.07.2008 17:15

Цитата:

Сообщение от marat_sa (Сообщение 754296)
Это как понимать? Казнить нельзя помиловать???
Какой вариант мне выбирать?
1) Да, не работает restrict с переводами строк.
2) Да не..., работает restrict с переводами строк.
O_o

наверное __еtc имел ввиду первый вариант
restrict c переводами строк не работает

chingachgoog 25.07.2008 19:30

Интересно, в хелпе сказано:
Код:

If the value of the restrict property is an empty string, you cannot enter any character.
Вставляю код
Код:

myText.restrict =""
Эффект нулевой, все вводиться.


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

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