Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2011, 09:49
cruztluisf
 
Fecha de Ingreso: julio-2011
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
buscador en flash desde XML

Estoy tratando de crear un buscador en flash, introduzco un texto y hago una busqueda en el archivo xml, creo un movieclip por cada coicidencia. Cuando hago el click sobre el movieclip siempre me va al mismo link. Que estoy haciendo mal?

El xml es el siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<menu>
<item>
<titulo><![CDATA[ptz]]></titulo>
<desc><![CDATA[ptz ]]></desc>
<tipo><![CDATA[ptz]]></tipo>
<imagem><![CDATA[PTZ]]></imagem>
<link><![CDATA[7]]></link>
</item>
<item>
<titulo><![CDATA[nvr]]></titulo>
<desc><![CDATA[nvr ]]></desc>
<tipo><![CDATA[NVR]]></tipo>
<imagem><![CDATA[NVR]]></imagem>
<link><![CDATA[6]]></link>
</item>
<item>
<titulo><![CDATA[CAMARA]]></titulo>
<desc><![CDATA[camara]]></desc>
<tipo><![CDATA[camaras]]></tipo>
<imagem><![CDATA[camara]]></imagem>
<link><![CDATA[2]]></link>
</item>
<item>
<titulo><![CDATA[MODENS]]></titulo>
<desc><![CDATA[modemsyroutrs]]></desc>
<tipo><![CDATA[modems]]></tipo>
<imagem><![CDATA[moden]]></imagem>
<link><![CDATA[4]]></link>
</item>
<item>
<titulo><![CDATA[modens]]></titulo>
<desc><![CDATA[modemsyroutrs]]></desc>
<tipo><![CDATA[modens]]></tipo>
<imagem><![CDATA[routers]]></imagem>
<link><![CDATA[4]]></link>
</item>
<item>
<titulo><![CDATA[accesorios]]></titulo>
<desc><![CDATA[accesorios]]></desc>
<tipo><![CDATA[accesorio]]></tipo>
<imagem><![CDATA[accesorio]]></imagem>
<link><![CDATA[1]]></link>
</item>
<item>
<titulo><![CDATA[accesorio]]></titulo>
<desc><![CDATA[accesorios varios]]></desc>
<tipo><![CDATA[accesorios varios]]></tipo>
<imagem><![CDATA[accesorio vario]]></imagem>
<link><![CDATA[1]]></link>
</item>
<item>
<titulo><![CDATA[antenas]]></titulo>
<desc><![CDATA[antena varias]]></desc>
<tipo><![CDATA[antenas]]></tipo>
<imagem><![CDATA[antena]]></imagem>
<link><![CDATA[10]]></link>
</item>
</menu>

El codigo de Flash es el siguiente:

Donde introduzco el texto y presiono el boton

on (release) {
if (busca.text == "") {
Selection.setFocus("busca");
} else {
_root.filtro = _root.busca.text.toLowerCase();
_root.gotoAndPlay("xml");
}
}

donde hago la busqueda

System.useCodepage = true;
var meuXML:XML = new XML();
meuXML.ignoreWhite = true;
meuXML.load('BUSQUEDA.xml');
bt._visible = false;
url_array = this.firstChild.childNodes;
var armID:Array = [];
meuXML.onLoad = function() {
qtd = this.childNodes[0].childNodes.length;
for (var i = 0; i<qtd; i++) {
for (var a = 0; a<this.firstChild.childNodes[i].childNodes.length; a++) {
diminui = String(this.firstChild.childNodes[i].childNodes[a].childNodes).toLowerCase();
if (diminui.indexOf(_root.filtro) !== -1) {
armID.push(i);
}
}
}
armID = arranca(armID);
if (armID.length == 0) {
resultados.text = "Ningún archivo encontrado";
} else if (armID.length == 1) {
resultados.text = "1 archivo encontrado.";
} else {
resultados.text = "Resultados "+armID.length+" archivos.";
}
for (var i = 0; i<armID.length; i++) {
bt.duplicateMovieClip('bt'+i, _root.getNextHighestDepth());
_root['bt'+i]._y += bt._height*i+i;
/*************************/
var titulo = (this.childNodes[0].childNodes[armID[i]].childNodes[0].firstChild);
var desc = (this.childNodes[0].childNodes[armID[i]].childNodes[1].firstChild);
var tipo = (this.childNodes[0].childNodes[armID[i]].childNodes[2].firstChild);
var IMG = (this.childNodes[0].childNodes[armID[i]].childNodes[3].firstChild);
var link = (this.childNodes[0].childNodes[armID[i]].childNodes[4].firstChild);

/*************************/
_root['bt'+i].titulo.html = true;
_root['bt'+i].titulo.htmlText = (titulo+"<font color='#cc6600'> - "+(tipo)+"</font>");
_root['bt'+i].desc.html = true;
_root['bt'+i].desc.htmlText = (desc);
_root['bt'+i].link.text = link;
//url='"' + link + '"';



/*************************/
_root['bt'+i].BT_LINK.onRelease = function() {

if (_root['bt'+i].link.text = 1) {
getURL("javascript:void(window.open('accesorios.ht ml','ACCESORIOS','toolbar=no,menubar=no,scrollbars =no,resizable=no,top=0,left=0,width=460,height=640 '))");
} else if (_root['bt'+i].link.text = 2){
getURL("javascript:void(window.open('camara.html', 'camara','toolbar=no,menubar=no,scrollbars=no,resi zable=no,top=0,left=0,width=460,height=640'))");
} else if (_root['bt'+i].link.text = 3){
getURL("javascript:void(window.open('fijas.html',' fijas','toolbar=no,menubar=no,scrollbars=no,resiza ble=no,top=0,left=0,width=460,height=640'))");
} else if (_root['bt'+i].link.text = 4){
getURL("javascript:void(window.open('modemsyroutrs .html','modems','toolbar=no,menubar=no,scrollbars= no,resizable=no,top=0,left=0,width=460,height=640' ))");
} else if (_root['bt'+i].link.text = 5){
getURL("javascript:void(window.open('nvr.html','nv r','toolbar=no,menubar=no,scrollbars=no,resizable= no,top=0,left=0,width=460,height=640'))");
} else if (_root['bt'+i].link.text = 6) {
getURL("javascript:void(window.open('ptz.html','pt z','toolbar=no,menubar=no,scrollbars=no,resizable= no,top=0,left=0,width=460,height=640'))");
} else if (_root['bt'+i].link.text = 7){
getURL("javascript:void(window.open('sw.html','sw' ,'toolbar=no,menubar=no,scrollbars=no,resizable=no ,top=0,left=0,width=460,height=640'))");

};

//getURL("javascript:void(window.open("+link+",by,'t oolbar=no,menubar=no,scrollbars=no,resizable=no,to p=0,left=0,width=460,height=640'))");
};
}
};
function arranca(x) {
for (var i = 0; i<x.length; i++) {
if (x[i] == x[i+1]) {
x.splice(i, 1);
arranca(x);
}
}
return x;
}


stop();


Muchas Gracias