PDA

Просмотр полной версии : инструкция if


yoolife
23.10.2008, 02:36
Доброй ночи !

сталкнулся с проблемой

так работает


for(var i:Number=0;i<u;i++){
is = l[i].user.text;

if(is=="xxx"){
trace("f");

}
}





а если для сравнения береш значения двух текстовых полей то нет



for(var i:Number=0;i<u;i++){
is = l[i].user.text;
isc = pole.text;

if(is==isc){
trace("f");

}
}


я уже как только не пробывал , все 100 раз проверил , но не работает если два значения для сравнения берутся из текстовых полей !

scarbo
23.10.2008, 02:55
Не знаю,если я правильно понял,то у меня выходит:

hludens
23.10.2008, 11:09
если isc это текстовое поле то сравнивать два объекта бесполезно - ясно что это не один и тот же объект.
нужно сравнить значения интересующего вас поля.

if(is.text==isc.text){

scarbo
23.10.2008, 12:09
Нет,я думаю is и isc - это String.
И я уже там все сравнил:taunt:

hludens
23.10.2008, 15:11
ступил я :(
невнимательно код выше посмотрел

yoolife
23.10.2008, 16:22
и что получается , не как нельзя решить эту проблему ?

Волгоградец
23.10.2008, 16:32
У вас ошибка где-то в другом месте, т.к. если значения текстовых полей равны, то is==isc будет true.

yoolife
23.10.2008, 17:20
не очень понял , если можно пример ?

Wolsh
23.10.2008, 18:58
var u = 3;
var pole = _root.createTextField("pole",0,0,0,100,20);
pole.text = "тра-ля-ля"
var is:String = "";
var isc:String = "";
var arr=[]
var S0 = "тра"
var S1 = "тру-лю-лю";
var S2 = "тра-ля-ля"
arr.push(S0,S1,S2)
var tarr=[]

for (var i:Number = 0; i<u; i++) {
var lll:MovieClip = _root.attachMovie("l","l"+i,i+10, {_x:20,_y:20*i+30});
lll.user.text = arr[i];
tarr.push(lll);
}

for (var i:Number = 0; i<u; i++) {
if (tarr[i].user.text == pole.text) {
trace("f");
}
}