Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   проблема с or или || (http://www.flasher.ru/forum/showthread.php?t=50790)

старина смерть 02.11.2003 16:14

Цитата:

Оригинал написал(а) Sergey"iLoveYou"

я б с ундефайндами не баловался :)
if (pass.text.length) -- может быть, так лучше?

а так тем более. Length в if использовать не рекомендуется.

iLoveYou 02.11.2003 17:03

Цитата:

Оригинал написал(а) старина смерть

а так тем более. Length в if использовать не рекомендуется.

1.исходничек бы по теме "некорректное поведение length при использовании в конструкции if(...){...}"
2. исходничек бы по теме "использование ундефайндов при проверке адектватности данных, введенных пользователем"

старина смерть 02.11.2003 17:10

не некорректное, а нерекомендуется :) хотя... скорее к примеру если так
for (var i=0; i<=10; i++){
if (mmm.length()==0){
трали вали
}
}

такая чепуха.

Лучше сделать так

aaa = mmm.length();
for (var i=0; i<=10; i++){
if (aaa==0){
трали вали
}
}

может я опять пргнал? Спать хочу вот и гоню ботву всякую...

iLoveYou 02.11.2003 17:34

Цитата:

Оригинал написал(а) старина смерть
не некорректное, а нерекомендуется :) хотя... скорее к примеру если так
for (var i=0; i<=10; i++){
if (mmm.length()==0){
трали вали
}
}
такая чепуха.
Лучше сделать так
aaa = mmm.length();
for (var i=0; i<=10; i++){
if (aaa==0){
трали вали
}
}
может я опять пргнал? Спать хочу вот и гоню ботву всякую...

зачем 10 раз проверять на равенство нулю mmm.length? ;)
идею твою я понял, хотя ты и кривой пример привел. разумеется, для многократного использования значения длины строки или массива (например, для сравнения с другой величиной) лучше поместить ее в переменную, дабы каждый раз, допустим, не вызывать метод или функцию для получения этого значения, и потом работать с этой переменной.
но, тем не менее, ответа на поставленный вопрос ты не дал. еще мысли есть?

rojok-online 02.11.2003 19:32

Sergey"iLoveYou"
hi :)
Смотри в твоем исходнике написано это...

_root.my_btn.onRelease = function() {
if (!(_root.pass.text.length && _root.id.text.length)) {
trace("enter required data ");
}
};

Так то оно работает..., но если сделать так:
_root.my_btn.onRelease = function() {
if(!id.text.length){
trace("id ");
}else if (!pass.text.length){
trace("pass");
}else if (!(_root.pass.text.length && _root.id.text.length)) {
trace("enter required data ");
}
};
то так не фурычит, выдает либо id либо pass , а вот надо чтоб выдовало enter required data если не заполнены поля.

iLoveYou 02.11.2003 19:55

разберись с булевой алгеброй :)
Код:

_root.my_btn.onRelease = function() {
        if (!_root.pass.text.length && !_root.id.text.length) {
                _root.error.htmlText = "<b>enter id & pass</b>";
        } else if (!_root.pass.text.length) {
                _root.error.htmlText = "<b>enter pass</b>";
        } else if (!_root.id.text.length) {
                _root.error.htmlText = "<b>enter id</b>";
        } else if (_root.pass.text.length && _root.id.text.length) {
                _root.error.htmlText = "<b>...sending...</b>";
}
}


rojok-online 02.11.2003 20:05

благодарен тебе Sergey"iLoveYou". Сенькс большой :))
Я понял теперь почему не работало :))


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

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