Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 20.10.2010, 16:34
Mulin вне форума Посмотреть профиль Отправить личное сообщение для Mulin Найти все сообщения от Mulin
  № 1  
Ответить с цитированием
Mulin
 
Аватар для Mulin

Регистрация: Aug 2010
Сообщений: 107
По умолчанию Загрузка, редактирование и сохранение XML

Вобщем сам код почти готов, но никак немогу присвоить текстовому полю содержание одного из узлов массива, и вообще теряюсь с проблемой замены этого самого узла.
Вот весь код
Код AS3:
var xml:XML=new XML();
var xmlList:XMLList=new XMLList();
var menuItem:MenuItem;
loadXml();
send_btn.addEventListener(MouseEvent.MOUSE_UP, sendData);
addEventListener(Event.ENTER_FRAME, loop);
function loop(e:Event):void
{
	if(nameInput_txt.text!=''&&textInput_txt.text!='')
	{
		send_btn.enabled=true;
	}else
	{
		if(send_btn.enabled)
			send_btn.enabled=false;
	}
}
function loadXml(e:MouseEvent=null):void
{
	var xmlRequest:URLRequest=new URLRequest('messages.xml');
	var loader:URLLoader=new URLLoader();
	loader.addEventListener(Event.COMPLETE, xmlLoaded);
	loader.load(xmlRequest);
}
function xmlLoaded(e:Event):void
{
	xml=XML(e.target.data);
	xmlList=xml.children();	
	updateText();
}
function updateText():void
{
	var i:uint=0;	
	for(i;i<xmlList.length();i++)
	{		
 menuItem = new MenuItem();
 menuItem.menuLabel.htmlText+=xmlList[i].name;
 menuItem.menuLabel2.htmlText+=xmlList[i].text;
 menuItem.x = 20;
 menuItem.y = 25 + i*170;
 //Сделаем, чтобы кнопка выглядела как кнопка (курсор в виде ручки)
 menuItem.buttonMode = true;
 menuItem.mouseChildren = false;
 //Добавим обработчики событий (используются для анимации кнопок)
 menuItem.addEventListener(MouseEvent.MOUSE_UP, Select);
 addChild (menuItem);
}
}
 
function Select(e:MouseEvent):void
{
	 trace(xmlList.text[this.i]);
 
}
 
function sendData(e:MouseEvent):void
{		
	var newName:String=nameInput_txt.text;
	var newText:String=textInput_txt.text;	
	nameInput_txt.text='';
	textInput_txt.text='';
	var newXml:XML=XML('<DATA><name>'+newName+'</name><text>'+newText+'</text></DATA>');
	trace(newXml);	
	var phpRequest:URLRequest=new URLRequest('messages.php');
	phpRequest.data=newXml;
	phpRequest.contentType='text/xml';
	phpRequest.method=URLRequestMethod.POST;
	var phpLoader:URLLoader=new URLLoader();
	phpLoader.addEventListener(Event.COMPLETE, xmlSended);
	phpLoader.load(phpRequest);
}
function xmlSended(e:Event):void
{
	loadXml();
}
Слушатель мыши запускает функцию Select, в функции прописан код
Код AS3:
trace(xmlList.text[this.i]);
, очевидно где-то закосяченый ибо не работает. Временно стоит trace, которому пытаюсь присвоить значение text одного из узлов массива xmlList, который в свою очередь (при удачном решении проблемы) буду присваивать текстовому полю menuLabel2. Ну и соответственно значение name, полю - menuLabel. Но код не пашет. Кривые руки. Еще, после редактирования содержимого, мне нужно будет перписать содержимое этого же узла. Но для меня это уж совсем высший пилотаж . Был бы очень признателен за помощь. Думаю сие многим бы пригодилось. По окончании собираюсь выложить исходники. Вот кстати и он сам (незаконченный).
Вложения
Тип файла: rar ДЛЯРЕДАКТОРАXML.RAR (186.3 Кб, 77 просмотров)

Создать новую тему   Часовой пояс GMT +4, время: 18:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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