Olá.. Tenho uma busca desenvolvida em Flash para buscar nos nós do XML e funciona de modo bem simples. Funciona da seguinte forma: Tenho um frame chamado "busca" que possui um campo de "input text" e definido em seu "var" como "word"(palavra). Na frente desse "input text" existe um botão com o código abaixo que chama a função da busca: on(release, keyPress "<Enter>")
{
search(word.toLowerCase());
}
Ainda neste frame (chamado busca) existe todo o código referente a busca, inclusive a função "search" que é chamada por este botão. O código segue abaixo:
stop();
var results = "";
System.useCodepage = true;
function record(titulo, descricao, resumo, link)
{
this.titulo = titulo;
this.descricao = descricao;
this.resumo = resumo;
this.link = link;
} // Fim da Funcao
function search(string)
{
var nResults = 0;
var i = 0;
while (i < dbArray.length)
{
for (j = 0; j < dbArray[i].resumo.length; j++)
{
if (dbArray[i].resumo[j].toLowerCase().indexOf(string.toLowerCase()) != -1)
{
found = true;
++nResults;
break;
} // end if
} // end of for
if (found)
{
results = results + ("<b><a href="" + dbArray[i].link + ""><u>" + dbArray[i].titulo + "</u></a></b>" + "<br>");
results = results + (dbArray[i].descricao + "<br><br>");
found = false;
} // end if
++i;
} // end while
if (nResults == 0)
{
results = "<b>Não foram encontrados registros com a palavra-chave pesquisada.</b>";
} // end if
gotoAndStop("buscaresultado");
} // Fim da Funcao
stop ();
fscommand("allowscale", "false");
var dbArray = new Array();
var dbXML = new XML();
dbXML.onLoad = function ()
{
var titulo;
var descricao;
var link;
var resumo;
var ndRoot = this.firstChild;
var i = 0;
while (i < ndRoot.childNodes.length)
{
if (ndRoot.childNodes[i].nodeName != null)
{
titulo = ndRoot.childNodes[i].attributes.titulo;
descricao = ndRoot.childNodes[i].attributes.descricao;
var j = 0;
while (j < ndRoot.childNodes[i].childNodes.length)
{
if (ndRoot.childNodes[i].childNodes[j].nodeName == "link")
{
link = ndRoot.childNodes[i].childNodes[j].firstChild.nodeValue;
}
else if (ndRoot.childNodes[i].childNodes[j].nodeName == "resumo")
{
resumo = ndRoot.childNodes[i].childNodes[j].firstChild.nodeValue.split("|");
} // end else if
++j;
} // end while
dbArray.push(new _root.record(titulo, descricao, resumo, link));
} // end if
++i;
} // end while
};
dbXML.load("bdcongresso.xml");
Selection.setFocus("word"); Entretanto, depois que clica no botão acima mencionado e chama a função Search, vai para outro frame que exibe o resultado. Esse outro frame chama "resultadobusca" e tem um "Dynamic text" que exibe o Var "results" responsável pelo conteúdo da busca. Estou tentando exibir a busca diretamente, sem que haja um campo para a pessoa digitar, no caso eu passaria o parâmetro diretamente que é o "word". Preciso que tudo seja feito em apenas um frame, ou seja, que este frame só tenha o "Dynamic text" responsável pela exibição da busca e queria que o parâmetro ou a palavra da busca seja sempre "fulano" por exemplo. Mais ou menos assim: search("Fulano".toLowerCase()); Mas onde coloco o código acima para que a busca seja realizada sem que haja um botão ou um evento? (Tentei colocar no frame "resultadobusca", mas não deu certo). Parece ser simples, mas não está dando certo. Muito obrigado e até mais.. SmarThi