Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Сравнение строки и поля input (http://www.flasher.ru/forum/showthread.php?t=179846)

Kadmus 23.05.2012 00:25

Сравнение строки и поля input
 
Здравствуйте. Подскажите, что за подводные камни в сравнении строки и значения поля input. не могу никак их сравнить, вот код:
Код AS3:

button_btn.addEventListener(MouseEvent.CLICK,proverka);
 
function proverka(e:Event) {
        if(otvet1_txt.text == "1") {
                gotoAndStop(3);
        }
        else {
                gotoAndStop(2);
        }
}

Добавлено через 14 минут
даже если в поле ввожу "1", все равно срабатывает else

strangedk 23.05.2012 00:45

перед if сделайте:
Код AS3:

trace(otvet1_txt);
trace(otvet1_txt.text);

что-то мне подсказывает что либо имя неверное, либо поле находится не на том же кадр

Storfus13 23.05.2012 00:48

Проверяйте событие изменения текста в поле input
Код AS3:

obj.addEventListener(TextEvent.TEXT_INPUT, txtInputChange); 
function txtInputChange(event:TextEvent):void{
        if(otvet1_txt.text == event.text)
........
}


Kadmus 23.05.2012 00:54

strangedk, так я уже пробовал проверить. вроде все нормально. ввожу 1, трейсит тоже 1

Добавлено через 1 минуту
Storfus13, извини, не понял зачем это нужно(

strangedk 23.05.2012 00:58

так если трейсит 1, значит проблема в кадрах?

то есть, вы хотите сказать что:

Код AS3:

trace(otvet1_txt.text) // выводит 1
(otvet1_txt.text == "1") // == false

в каком кадре этот код, и в каком кадре otvet1_txt?

Kadmus 23.05.2012 01:00

strangedk, вы правильно поняли. код и форма находится в одном и том же кадре но на разных слоях

strangedk 23.05.2012 01:05

Самому даже забавно посмотреть.

ок. А если после клика сделать

Код AS3:

otvet1_txt.text = "test"

обновится?

Kadmus 23.05.2012 01:15

да, поле обновляется на test. Может проблема в типе данных? если это поле из кода изменить на 1? то все работает

strangedk 23.05.2012 01:19

Ну и если после

(otvet1_txt.text == "test") == false

Не могу понять в чем тут заморочка. Может и глюк adobe, но чувствуется мне что хрень какая-то присутствует.

Добавлено через 1 минуту
у вас там например пробел не стоит изначально?
может у вас получается не "1" а " 1"

Добавлено через 2 минуты
А что тут с типом данных, String и там и там:

Код AS3:

(otvet1_txt.text == "1")


Kadmus 23.05.2012 01:33

пробелов нет. у меня уже была подобная проблема, но тогда мне нужно было сравнить числа. При сравнении она тогда работала через раз. решил ее преобразовав числа в строки с помощью toString(), а здесь сходу строки и не работает(


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

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