Ayuda Con Buscador...

Hola Expertos:
Hace dias el Experto Blackprince Puso el Codigo Fuente de un buscador. Tengo un problema, ¿como le hago para que los resustados me los muestre en la misma ventana y no en una nueva ventana?.
Este es el Codigo Fuente:
<!-- Dos pasos para poner la busqueda:
1. Copia el codigo dentro del HEAD de tu HTML
2. Agrega la ultima parte del codigo dentro del BODY de tu HTML -->
<!-- PASO UNO: Pega este codigo dentro del HEAD de tu HTML -->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var item = new Array();
/* Aqui es donde pasa lo magico, solo metelo como una pagina adicional donde quieres la busqueda y pega el codigo en la pagina donde quieres que aparezca la busqueda*/
// "Nombre de Pagina","Ruta","Titulo de la pagina","Muchos, token ,palabras","Comentarios descriptivos"
c=0; item[c]=new Array("index.html","","DemoSite","index,main,start,home,front","Demostración de búsqueda en un sitio web.");
c++; item[c]=new Array("about.htm","","About Me","acerca de,autor,contacto,email,quien","Contacta detalles del sitio");
c++; item[c]=new Array("links.htm","","Links page","links,mas,donde,similar,amigos","Links a otros sitios de informacion.");
c++; item[c]=new Array("main.htm","main/","Main Page","contenido,principal,foco","La parte principal de mi sitio");
c++; item[c]=new Array("logo.jpg","main/images/","Link Logo","link,imagen,logo,grafica","El logo de la compañia o de tu sitio web");
page="<html><head><title>Search Results</title></head><body bgcolor='white'><center><table border=0 cellspacing=10 width=80%>";
function search(frm) {
win = window.open("","","scrollbars");
win.document.write(page);
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.document.write("</table><br>Total found: "+total+"<br></body></html>");
win.document.close();
}
function show(which,wind,num) {
link = item[which][1] + item[which][0];
line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a> Score: "+num+"<br>";
line += item[which][4] + "<br>"+link+"</td></tr>";
wind.document.write(line);
return 1;
}
// End -->
</script>
</HEAD>
<!-- PASO DOS: Copia este codigo dentro del BODY de tu HTML -->
<BODY>
<center>
<form method=get action="javascript:void(0)" onsubmit="search(this); return false;">
<tr><td><input type=text name=srchval value=""><input type=submit value="Busca!"></td></tr>
</form>
</center>
Muchas Gracias.
Atte:
Petron.

2 Respuestas

Respuesta
1
Cambia el texto de la función search por:
function search(frm) {
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
document.open();
document.write(page + "</table><br>Total found: "+total+"<br></body></html>");
document.close();
}
Respuesta
1
Mio lamento decirte que es preciso que cargue otra página donde estarán las respuestas, aunque se puede hacer que las respuestas estén en la misma página que mandas a buscar eso es a lo que llamamos las llamadas y respuestas del servidor. En el cual el te puede responder desde un html a un asp, o de asp a asp, o de la misma página asp a ella misma. No es imprescindible que sea asp, puede ser cgi, jsp, php...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas