PDA

Просмотр полной версии : ошибка в работе кнопки


FireHawK
25.06.2006, 17:18
Привет.
У меня есть кнопка далее в ней такойц код:
on (release) {
var wRanges=[500,600,700,800,900,1000,1100,1200,1300];// создаем массив ширин
var w=tablo.text;//содержимое текстового поля присваевается переменной w
if (w<wRanges[0] || w>1400) { this.error.text="Ширина окна введена не правильно."; //w проверяется на область принадлежности массиву
dalee.enabled = false;// блокируется кнопка далее }
else _root.ras.rass.gotoAndStop(2); // иначе переход на дургой кадр
}Текстовое поле динамическое и находится на том же кадре но в другом слое. вроде все.
А не работает почему то - как нивчем не бывало переходит на след кадр.

BigDan
25.06.2006, 20:43
if (w<wRanges[0] || w>1400)
w-стринговый тип данных, ты его сравниваешь с Number-типом, вот и ошибка. Если ты хочешь перевести String->Number тогда Number(String);
Этот кусок должен выглядеть так:
if(Number(w)<wRanges[0] || Number(w)>1400).....

iNils
25.06.2006, 20:48
BigDan, я тебя удивлю, но в данном случаи сработает автоматическое преобразование типов.
FireHawK, поставте перед условием сравнения это
trace (w);

BigDan
25.06.2006, 21:03
Попробуй этот код:
on(release){
var wRanges:Array=new Array(500,600,700,800,900,1000,1100,1200,1300)
var w:String=_root.tablo.text;
if(Number(w)<wRanges[0] || Number(w)>1400){
_root.dalee.enabled=false;
this.error.text="Ширина окна введена не правильно."
}else{
_root.ras.rass.gotoAndStop(2);
}
}

FireHawK
25.06.2006, 22:40
Всем спасибо , заработало. ТОка вот именно, я думал что Экшен сам переведет из текста в числа автоматически, оказывается он не сделал этого.
Тему мона закрывать :) вроде как