Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   неправильное обновление TextField (http://www.flasher.ru/forum/showthread.php?t=148464)

Cornford 02.01.2011 12:53

неправильное обновление TextField
 
Добры день.
Подскажите как правильно сделать, чтобы при добавлении сообщения в гостевую книгу
оно сразу отображалось в TextField, а не после обновления страницы.
Сообщения хранятся в xml. Запись в xml производится с помощью php.

bav 02.01.2011 17:17

Почитайте про ExternalInterface и передавайте флешке новое сообщение сразу после нажатия кнопки, отвечающей за сохранение этого сообщения в xml.

Cornford 02.01.2011 22:31

Спасибо. почитал честно говоря не особо понял о чем речь... уровень еще слабоват.
я сейчас делаю так: у меня происходит загрузка xml и далее вывод в TextField, далее при заполнении полей
и при нажатии на кнопку "отправить" сообщение передается в пхп а оттуда далее в xml. Мне кажется что далее мне надо снова загрузить уже новй хмл тоесть загрузить его повторно опятьже после нажатия этой само кнопки "отправить". В принципе я так и делаю но почему не работает. вот код:
Код AS3:

private function button6Clicked(event:Event):void {
                        loader.load(request);
                        loader.addEventListener(Event.COMPLETE, loadComplete);
                }               
                private function submitClicked(event:Event):void {
                        var thismonth:uint = dateToday.getMonth();
                        var dateStr:String = (dateToday.getDate()+"."+ dateToday.getMonth()+"."+dateToday.getFullYear());
                        phpLoader.dataFormat = URLLoaderDataFormat.TEXT;
 
                        phpVars.name =  nameText.text;
                        phpVars.title = titleText.text;
                        phpVars.date = dateStr;
                        phpVars.full = fullText.text;
                        phpFileRequest.data = phpVars;
                        phpLoader.load(phpFileRequest);
                        loader.load(request);
                        loader.addEventListener(Event.COMPLETE, loadComplete);
                }
                private function loadComplete(event:Event):void {
                        myXML = XML(loader.data);
                        xmlList = myXML.children();
 
                        var t:int = 0;
 
                        while(xmlList.name[t] != undefined){
                                t = t + 1;
                        }
                        for (var i:int = 0; i < t; i++) {
                                messageViewer.htmlText += ("<b><u>Имя:</u></b> " + xmlList.name[i].toString());
                                messageViewer.htmlText += ("<b><u>Заголовок:</u></b> " + xmlList.title[i].toString());
                                messageViewer.htmlText += ("<b><u>Дата:</u></b> " + xmlList.date[i].toString());
                                messageViewer.htmlText += ("<b><u>Сообщение:</u></b> " + xmlList.full[i].toString());
                                messageViewer.htmlText += (".......................................................................................................................................");
                        }
                }


bav 03.01.2011 11:40

А разве нельзя сделать так:
Код AS3:

// (подозреваю, что данная функция прослушивает событие класса MouseEvent)
private function submitClicked(event:Event):void
{
        var thismonth:uint = dateToday.getMonth();        // данная переменная используется?
        var dateStr:String = (dateToday.getDate()+"."+ dateToday.getMonth()+"."+dateToday.getFullYear());
 
        // перед отправкой данных PHP добавлять их в текстовое поле
        messageViewer.htmlText += ("<b><u>Имя:</u></b> " + nameText.text);
        messageViewer.htmlText += ("<b><u>Заголовок:</u></b> " + titleText.text);
        messageViewer.htmlText += ("<b><u>Дата:</u></b> " + dateStr);
        messageViewer.htmlText += ("<b><u>Сообщение:</u></b> " + fullText.text);
        messageViewer.htmlText += (".......................................................................................................................................");
 
        phpLoader.dataFormat = URLLoaderDataFormat.TEXT;
        phpVars.name =  nameText.text;
        phpVars.title = titleText.text;
        phpVars.date = dateStr;
        phpVars.full = fullText.text;
        phpFileRequest.data = phpVars;
        phpLoader.load(phpFileRequest);
        loader.load(request);
        loader.addEventListener(Event.COMPLETE, loadComplete);
}


Cornford 03.01.2011 22:19

Спасибо! вобщемто неплохое решение. работает. правда есть один минус: если я после добавления сообщения снова нажимаю кнопку которая показывает раздел с гостевой книгой то сообщение пропадает, если после этого обновить страницу то снова показывается...


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

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