Форум 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)
-   -   Загрузка из текстового поля в узел XML (http://www.flasher.ru/forum/showthread.php?t=78945)

rockafella 28.04.2006 00:47

Загрузка из текстового поля в узел XML
 
Вот код, я создал текстовое поле с именем type_txt.
Теперь надо чтобы записанный в это поле текст записался в узел XML
Код:

this.createTextField("type_txt", 2, 61.0, 103.0, 100, 15.4);
type_txt.border = true;
type_txt.type = "input";
type_txt.background = true;
type_txt.setNewTextFormat(sSt);
//
this.create_btn.onRelease = function() {
       
        var myXML:XML = new XML();
        var el1:XMLNode = myXML.createElement("target");
        var el2:XMLNode = myXML.createElement("type");
        myXML.appendChild(el1);
        el1.appendChild(el2);
        var el1t:XMLNode = myXML.createTextNode("type_txt")
        el2.appendChild(el1t);
        trace(myXML);
}

Естественно что в output выводится
<target><type>type_txt</type></target>

Вопрос,как сделать чтобы вместо type_txt выводилось бы данные записанные юзером в текстовом поле?

дядя Джо 28.04.2006 02:26

Код:

var el1t:XMLNode = myXML.createTextNode(this._parent.type_txt.text)

rockafella 28.04.2006 13:25

Туперь бы не плохо эти данные отправить. То есть как созданный XML файл отправить.
Например
------------------------------
myXML.contentType = "text/xml";
myXML.ignoreWhite = true;
myXML.send("target.xml");
trace(myXML);
---------------------------

Не создает документ. А как сделать чтобы создать xml файл, например target.xml. Или что больжно быть написано в уже созданнойм xml файле, чтобы данные были там сохранены?

breez38 28.04.2006 13:32

флеш изначально НЕ умеет создавать файлы, и send() - это отправка содержимого в указанный URL, и только URL, а не как не в локальный файл.

rockafella 28.04.2006 13:39

Хорошо, тогда что должно быть написано в коде XML документа, в указаном URL, чтобы он принял и отобразил данные.
Например я создал в той же директории где .swf файл target.xml.
Что там должно быть записано чтобы он отобразил
-------------------------
<target><type>type_txt</type></target>
---------------------------------

breez38 28.04.2006 13:51

где отобразил?
на всякий случай еще раз поясню, что флеш НЕ может ни создавать файлы, ни дописывать в них, ни удалять.
send() отправляет твой документ на указаный URL (скажем _www.myCoolSite.ru/xmlParser.php) который в свою очередь должен получить эти данные и что-то с ними сделать. Это должен быть серверный скрипт, а не просто файл.

Madasan 28.04.2006 14:05

Цитата:

Сообщение от rockafella
Хорошо, тогда что должно быть написано в коде XML документа, в указаном URL, чтобы он принял и отобразил данные.
Например я создал в той же директории где .swf файл target.xml.
Что там должно быть записано чтобы он отобразил
-------------------------
<target><type>type_txt</type></target>
---------------------------------

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

rockafella 28.04.2006 15:21

Хорошо, с этим все ясно.
Следующий вопрос.
А как передать данные из компонента comboBox

Например я создал comdoBox
Код:

this.createObject("comboBox", "ccb", this.getNextHighestDepth());
ccb.addItem ({label:"Здание", data:1});
ccb.addItem ({label:"Ферма", data:2});
ccb.addItem ({label:"Вышка", data:3});
ccb.setSize(101, 20);
with(ccb){
  setStyle("color", 0x006699);
  setStyle("themeColor", 0xBDD1E3);
  setStyle("borderColor", 0x006699);
  setStyle("disabledColor ", 0x006699);
}

Теперь данные label нужно передать в XML
Код:

var myXML:XML = new XML();
        var el1:XMLNode = myXML.createElement("target");
        var el2:XMLNode = myXML.createElement("type");
        myXML.appendChild(el1);
        el1.appendChild(el2);
        var el1t:XMLNode = myXML.createTextNode(this.combo_mc.ccb.label)
        el2.appendChild(el1t);
        trace(myXML);

Например при передачи строчки
Код:

var el1t:XMLNode = myXML.createTextNode(this.combo_mc.ccb.label)
В output ничего не возвращается.


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

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