Comunidad de diseño web y desarrollo en internet online

ayuda combobox y xml

Citar            
MensajeEscrito el 04 Ene 2008 12:58 pm
Buenas he estado echandole un ojo a este tutorial y l,e he añadido algunas variaciones para que haga lo que yo quiero, que es:

que una caja de texto muestre un atributo de un nodo de un xml....os pongo codigo yaque como siempre me explico como un libro cerrao.

XML.

Código :

<productos>
   <software>
      <articulo tipo= "Tpv" descripccion= "loqsea." />
      <articulo tipo= "Programa a medida" descripcion= "loqsea" />
      <articulo tipo= "Paginas web" descripcion= "loqsea" />
      <articulo tipo= "Tienda On-line" descripcion= "loqsea." />
      <articulo tipo= "Copias de Seguridad" descripcion= "loqsea" />
   </software>
</productos>


actionscript:

Código :

//-----------------------------------------------------------------------------------------------------------
//-creamos una variable xml para almacenar los datos del archivo xml.
var prodxml: XML=new XML();
prodxml.ignoreWhite=true;
prodxml.load("xml/prod.xml");
prodxml.onLoad=leer_datos;  //llamada a funcion.


//---------------------------------------------------------------------------------------------------------
//-carga el XML en una variable.
function leer_datos(exito){
   if (exito){
      //Arrays donde iran los datos.
      tam=prodxml.firstChild.firstChild.childNodes.length;
      tipo=new Array(tam);
      descripcion=new Array (tam);
      //llenamos los Arrays
      for (i=0;i<tam;i++){
         tipo[i]=prodxml.firstChild.firstChild.childNodes[i].attributes.tipo;
         descripcio[i]=prodxml.firstChild.firstChild.childNodes[i].attributes.descripcion;
      }
      llenarCombo();   //llamada a funcion.
   }else{
      trace("no se pudo leer el xml");
   }
};

//-------------------------------------------------------------------------------------------------------------------
//-llenando el combobox.
function llenarCombo(){
   attachMovie("ComboBox", "combo", 1, {_x:10, _y:50});
   //propiedades del combobox.
   combo.setSize(170,22);
   combo.dropdownWidth (300);
   //asignamos un proveedor de datos.
   datos=new Array();
   combo.dataProvider=datos;
   //metemos los datos en el combobox.
   for (i=0;i<tipo.length;i++){
      datos.addItem({label:tipo[i], data:descripcion[i]});
   }

   //eventos del combobox.
   combo.addEventListener("change", alSeleccionar);
};

//-----------------------------------------------------------------------------------------------------------------------
//-Listener para seleccionamos una opcion
alSeleccionar = new Object();
alSeleccionar.change = function(evento){
   for(i=0;i<tipo.length;i++){
      if(prodxml.firstChild.firstChild.childNodes[i].attributes.tipo == evento.target.value){
         des_input.text=prodxml.firstChild.firstChild.childNodes[i].attributes.descripcion;
      }
   }
}



bien, el caso es q funciona de pm, pero cualdo seleccionamos el primer articulo (en este caso tpv) me devuelve undefined. Solo me pasa co tpv...

¿Alguna idea?

Por pericles

71 de clabLevel



Genero:Masculino  

in Dublin

firefox
Citar            
MensajeEscrito el 04 Ene 2008 06:21 pm
He leido por el aire tu post, solo una pregunta ¿te aseguras que el xml esta leido correctamente, es decir que se cargo el array?

Un saludo

Por Andurino

25 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ene 2008 08:59 pm
si, uso un if para comprbar q el xml se carga.....sino sale un trace q me mandaria a mi casa

Por pericles

71 de clabLevel



Genero:Masculino  

in Dublin

firefox
Citar            
MensajeEscrito el 08 Ene 2008 12:43 pm
perdonad este post, pues el problema era absurdo, aunque e tardado bastante en verlo, dejo la solucion por si le sirve a alguien en un futuro, ya que el codigo realmente esta bien.....

El problema era que en la descripcion del primer elemento no pone "descripcion", sino "descripccion", una vez corregido esto se soluciono el problema......tengo que dejar de fumar para hacer los tutoriales. Nuevamente Sorry.

Un saludo.

Por pericles

71 de clabLevel



Genero:Masculino  

in Dublin

firefox

 

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