Просмотр полной версии : onChanged
Charly84
18.08.2006, 19:17
Здравствуйте.
Есть небольшая проблека - помогите решить ;)
Хочу, чтобы при введении в поле Input Text любой переменной, в динамическом поле она сразу умножалась на 5. Но не понажатию кнопки, а мгновенно...
Динамическое поле имеет имя pre1.
Динамическое - res.
Я так понял, надо юзать onChanged.
Вот код
pre1.onChanged = function(pre1:TextField) {
res = 1*pre1*5;
};
Где ошибка? Почему не работает? ;)
DarkLight
18.08.2006, 20:09
pre1.onChanged = function(pre1:TextField) {
res = parseFloat(pre1.text)*5;
};
Charly84
18.08.2006, 20:44
Не работает :(Я же правильно делаю, что этот код вешаю на фрейм? ;)
DarkLight
18.08.2006, 20:51
1. pre1.text - надо обращаться не к текстовому полю, а к тексту в нем.
2. parseFloat() - текст имеет тип String - а для вычислений нужен Number - преобразуем.
Если число нужно целое - можно пользоваться parseInt(), и указывать вторым параметром 10, на случай если юзер введет случайно 0 в начале и флеш решит, что число восьмеричное.
Charly84
18.08.2006, 21:03
я перевожу в число просто.. Умножаю на 1...
res = 1*(pre1.text)*5;
Даже не писал pre1.text, а просто pre1 :)
Но вот почему не работает сама функция OnChanged?
DarkLight
18.08.2006, 21:07
Инстанс нейм задан? Поле существует, когда задается функция? Путь правильный?
Тогда все будет работать.
Charly84
18.08.2006, 21:09
Да я много испльзовал полей ввода...
и ниразу не вводил инстанс нейм.. всегда только вар....
DarkLight
18.08.2006, 21:10
Вар здесь не подходит, т к у нее нет onChanged.
Charly84
18.08.2006, 21:25
Спасибо.. РАботает :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.