prazen string...do vens

2 отговора 0 прегледа
#1

prazen string...do vens

Условие:

Форма която да има едно поле input type. От него ще се изпраща за проверка код за достъп до сървър, който пък от своя страна ако проверката е извършена правилно ще връща резултат paybg=ok
С така заредените данни трябва да се направи проверка с някаква if функция...ако проверката е OK прави 1 else прави 2

До сървъра променливите които трябва да се изпратят под формата на URL низ са с имена code и served….като променливата code трябва да приема стойноста от полето което ще попълва потребителят

В общи линии това е

Ето и кода дето съм написал.....нооооо праща празен стринг и съответно винаги връща грешен код

lv = new LoadVars();
lvr = new LoadVars();
lv.servID=340;
lv.code =new String(_root.parolata.text);
buton.onRelease = function(){
lv.sendAndLoad("[линк]",lvr);
_root.rezultat.text = lvr.paybg
}
if(_root.rezultat.text=="ok"){
_root.tablitca._visible=true;
unloadMovieNum(3)

}else{
_root.greshka._visible=true;
}

Отговор
в отговор на dalembert #2

Re: prazen string...do vens

lvr = new LoadVars();
lv = new LoadVars();
buton = function() {
var codat = new String(_root.parolata.text);
lv.code = codat;
lv.servID = 340;
var otgovor = new String (lvr.paybg)
lv.sendAndLoad("[линк]",lvr);
_root.rezultat.text=otgovor;
if (_root.rezultat.text=="OK"){
_root._visible=false
}
else{
_root.gotoAndStop(1);
}

}


Всичко друго е ОК, само дето if функцията не реагира правилно.Къде е проблема?Значи трябва да натисна два пъти бутона за да реагира правилно...при първото натискане реагира все едно е грешно условието.....пък и защо трябва да натисна два пъти бутона за да се покаже в полето _root.rezultat.text данните на променливата otgovor

Отговор
в отговор на dalembert #3

Re: prazen string...do vens

Да разбирам ли, че проблемът с празния стринг си го решил вече?

Относно втория въпрос - така само с код е малко трудно, ама предполагам, че се дължи на това, че инициализираш var otgovor = new String (lvr.paybg) преди lvr да има още някаква стойност.

Т.е. като натиснеш бутона става следното:
1. Инициализира otgovor, която получава стойност undefined
2. Прави обръщение към checkcode.php и попълва стойностите на lvr. Ама не актуализира otgovor, нали се сещаш?
3. Съответно проверката не сработва

Сега като натиснеш пак бутона:
1. Инициализира otgovor, която взема стойността от lvr, която е инициализирана от предното натискане. Т.е. ти натискаш 2-ри път, но получаваш стойността на lvr, която си получил от първото натискане
2. Прави обръщение към checkcode.php и попълва стойностите на lvr. На практика те са същите, ама ти така и не ги ползваш втори път. Ще ги ползваш, ако натиснеш бутона 3-ти път
3. Сега вече проверката минава.

Това, естествено, са предположения, обаче пробвай следното:
Направо махни var otgovor = new String (lvr.paybg)
и направи _root.rezultat.text=lvr.paybg;

И кажи какво е станало. Успех

Отговор