Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Помогите советом или логикой по SendAndLoad (http://www.flasher.ru/forum/showthread.php?t=93678)

UnOuter 26.03.2007 18:01

Помогите советом или логикой по SendAndLoad
 
В общем вопрос такой. Не могу сообразить как это сделать.

Есть скажем на форме Кнопка. При нажатии на которую я должен послать и получить данные, и в зависимости от того, что получил - сделать определенные действия.

Вот мой код (он рабочий) Все принимает и все отсылает. НО...
При нажатии на кнопку данные не успевают приняться с сервера, перед тем как срабатывает условие при котором нужно обработать эти данные.

Вопрос: Как отследить, что данные УЖЕ принялись, и после чего выполнить уже с полученными данными - это условие.


Код:


on (release) {
        var content_arr = new Array();
        myData = new LoadVars();
        myData.login = this.login_var;
        myData.sendAndLoad(_root.file_path, myData, 'POST');
        myData.onLoad = function(succes) {
                if (succes) {

//Тут мы принимаем данные
                        content_arr["err_var"] = this.err_var;       
//Их очень-очень много       
                } else {
                        trace("Error loading data");
                        //this.login_var = "Ошибка передачи данных";
                }

//Вот тут условие которые выполняется в зависимости от того что получили
                trace(content_arr["err_var"]);
                if (content_arr["err_var"] == "1") {
                        _root.nextFrame();
                } else if (content_arr["err_var"] == "0") {
                        _root.error_code._visible = true;
                        //Делаем ошибку неправильнного ввода кода невидимой
                }
        };
}


etc 26.03.2007 18:20

Для оформления кода нужно использовать теги [code][/code], а не [php][/php].

gct 26.03.2007 18:56

Читаем родной хэлп

The following example loads a text file and displays information in the Output panel when the operation completes.
Код:


var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
    trace("LoadVars loaded successfully: "+this.loaded);
};
my_lv.load("http://www.helpexamples.com/flash/params.txt");

Пишем правильно:
- success
- _root.error_code._visible = true;
//Делаем ошибку неправильнного ввода кода невидимой

не знаю как у кого, но у меня создалось впечатление, что в этой строке ты сделал "ошибку неправильнного ввода кода" видимой

UnOuter 26.03.2007 19:11

Собственно ничего не изменилось...
Не хочет оно выполнять условие....

Хочу отменить, что у меня Flash сначала посылает данные в PHP, потом принимает! ...

etc 26.03.2007 19:24

А почему вторую часть условий нельзя было запихнуть в первый if?

UnOuter 26.03.2007 19:28

Можно, запросто, но вот только толку от этого тоже 0. Ничего не меняется! Не выполняется оно и все...

etc 26.03.2007 19:35

В приведенном коде ошибок в принципе нет. Не считая логической:

Код:

_root.error_code._visible = true;
                        //Делаем ошибку неправильнного ввода кода невидимой

В комментарии одно, а делаем как раз наоборот.

Откуда происходит загрузка данных? Удачна ли загрузка полученных данных или нет?

gct 26.03.2007 19:38

А функции проверок на ошибки загрузки и содержания массива срабатывают на ошибки?

сори за повтор

UnOuter 26.03.2007 19:46

Да, данные получает.. трассируется все нормально...

на счет коммента там все в порядке.. там просто описка. Я проверяю это на уровне дебагера.

НЕ срабатывает условие
Код:

if (content_arr["err_var"] == "1") {
                        trace(content_arr["err_var"]);
                } else if (content_arr["err_var"] == "0") {
                        _root.error_code._visible = true;
                        //Делаем ошибку неправильнного ввода кода видимой
                        _root.error_code.gotoAndPlay(1);
                        _root.login_block.gotoAndPlay(6);
                }

Скорее всего оно просто не успевает отрабоать!
в общем даже не знаю...

gct 26.03.2007 19:50

Ну если сделать как __etc посоветовал с условиями, то оно как-то пологичней будет ну и, в принципе, должно "успеть" отработать.


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

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