Comunidad de diseño web y desarrollo en internet online

consulta sobre funcion

Citar            
MensajeEscrito el 29 Sep 2008 07:25 pm
hola tengo un problema con un swf que obtien datos de un xml estoy usando desde el xml asfunction para llamr a una funcion dentro de mi swf mi problema esta en como analizar la funcion para que cuando esta sea llamada de como resultado otro nodo del mismo hijo
pongo mis codigos asi pudeo explicarme mejor.

mi xml

Código :

<?xml version="1.0" encoding="UTF-8"?>

<direcciones>
<direccion>
<nombre><a href='asfunction:vermas'>nombre 1 </a></nombre>
<direccion>direccion 1 </direccion>
<telefono>telefono 1 </telefono>
<horario>horario 1</horario>
<br/>
</direccion>
<direccion>
<nombre><a href='asfunction:vermas'>nombre 2 </a></nombre>
<direccion>direccion 2</direccion>
<telefono>telefono 2 </telefono>
<horario>horario 2 </horario>
<br/>
</direccion>
</direcciones>

el as

Código :

this._lockroot = true;

// creo las cajas donde voy a guardar el texto
this.createTextField("caja1",1,185,105,300,237.0);
caja1.html = true;
caja1.wordWrap = true;
caja1.multiline = true;
caja1.label.condenseWhite = true;
caja1.focusTextField = null;
var styles_caja1:TextField.StyleSheet = new TextField.StyleSheet();
styles_caja1.load("css/direcciones.css");
caja1.styleSheet = styles_caja1;




var indice:Number;
var archivo_xml:XML;


function cargarDatos(_indice:Number){ 
   var nombre:String; 
   var direccion:String;
   var telefono:String;
   var horario:String;
   
   
   
   
   nombre = archivo_xml.firstChild.childNodes[_indice].firstChild.firstChild; 
   direccion = archivo_xml.firstChild.childNodes[_indice].firstChild.nextSibling.firstChild.nodeValue;
   telefono = archivo_xml.firstChild.childNodes[_indice].firstChild.nextSibling.nextSibling.firstChild.nodeValue;
   horario = archivo_xml.firstChild.childNodes[_indice].lastChild.firstChild;
   
   
   var  todos = archivo_xml.firstChild;
   _root.caja1.text = todos;
}


 
function vermas (vermas){
   
   _root.createTextField("caja",2,1,1,200,100);
   caja.html = true;
   caja1.wordWrap = true;
   caja1.multiline = true;
   caja1.label.condenseWhite = true;
   caja1.focusTextField = null;
   var mas = archivo_xml.firstChild.childNodes[0].firstChild.nextSibling.nextSibling.firstChild.nodeValue;
   _root.caja.text = mas;
   }
// caarga xml
indice=0;
archivo_xml = new XML();
archivo_xml.ignoreWhite = true;
archivo_xml.load("xml/direcciones.xml");
archivo_xml.onLoad = function(){
         cargarDatos(indice);         
   }


la funcion vermas que es la que es llamada deje como ejemplo cual era el valor que queria mostrar pero claro mi problema es que siempre aparece el mismo.
En resumidas cuentas lo que quisiera es que cuando llama a la funcion desde el xml (en este caso nombre) me cargue por ejemplo el telefono de la primer direccion cuando hagan clic en el nombre del segundo me muestre el telefono el segundo y asi sucecivamente.

muchas gracias espero haber sio claro.

Por ale80262

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Sep 2008 09:23 pm
Llama a la función con un parámetro:

Código XML :

<?xml version="1.0" encoding="UTF-8"?>

<direcciones>
<direccion>
<nombre><a href='asfunction:vermas,0'>nombre 1 </a></nombre>
<direccion>direccion 1 </direccion>
<telefono>telefono 1 </telefono>
<horario>horario 1</horario>
<br/>
</direccion>
<direccion>
<nombre><a href='asfunction:vermas,1'>nombre 2 </a></nombre>
<direccion>direccion 2</direccion>
<telefono>telefono 2 </telefono>
<horario>horario 2 </horario>
<br/>
</direccion>
</direcciones>


Luego este parámetro (vermas) que tienes, que ahora no te devuelve nada contendrá el valor de la función (Te recomiendo que le cambies el nombre):

Código ActionScript :

function vermas (vermas){


Y podrías hacer algo como esto:

Código ActionScript :

function vermas (nodo):Void{
    
    var mas = archivo_xml.firstChild.childNodes[Number(nodo)].firstChild.nextSibling.nextSibling.firstChild.nodeValue;

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 29 Sep 2008 10:26 pm
buenisimo!!! muchas gracias

Por ale80262

7 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.