Hola a to2.
Tengo el código para realizar un buscador en javascript
El problema es que está pensado o bien para tener dos frames o bien visualizar los resultados en una ventana nueva.
Yo quiero que los resultados se visualicen en un iframe que tengo , pero no se como poder escribir de forma dinamica dentro de un iframe.
Lo único que quiero es sustituir los frames, y poner en la página BusqMaterial.htm un iframe.
Es decir como puedo aquí referenciar a mi iframe???
He puesto : resultado.output.document.open(); pero me da error ...
Código:
function writeOutput(outString) {
parent.output.document.open();
parent.output.document.write(outString);
parent.output.document.close();
}
Os pongo el código:
Pagina Inicial.htm
Código:
<HTML><HEAD><TITLE>UN JAVASCRIPT A LA SEMANA - demostración práctica</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD><FRAMESET
frameSpacing=0 rows=25%,* frameBorder=1><FRAME name=input
src="BusqMaterial.htm"
scrolling=no><FRAME name=output
src="BusqMaterial.htm"></FRAMESET></HTML>
Pagina BusqMaterial.htm :
Código:
<body topmargin="0" leftmargin="0">
<FORM name=searchform><FONT face=arial,helvetica><B>Ejemplo de búsqueda en
JavaScript</B></FONT><BR><INPUT name=searchwords onkeyDown=searchAll(this.form.searchwords.value.toLowerCase()) > <INPUT onclick=searchAll(this.form.searchwords.value.toLowerCase()) type=button value=Busca name=startsearch>
<INPUT type=reset value=Elimina name=cancella> </FORM></CENTER>
<SCRIPT language=javascript>
//Script Author - P.Annunziata
//E-Mail : [email protected]
Aut="P.Annunziata";
function makeArray(n) {
this.length = n;
for (var k = 1; k <= n; k++) {
this[k] = "";
}
return this;
}
//ora inseriamo le specifiche delle funzioni di ricerca
function stripInput(key) {
while(key.substring(0,1) == "," || key.substring(0,1) == " " || key.substring(0,1) == '"' ) {
key = key.substring(1,key.length);}
while(key.substring(key.length-1,key.length) == "," || key.substring(key.length-1,key.length) == " " || key.substring(key.length-1,key.length) == '"') {
key = key.substring(0,key.length-1);}
return key;
}
function parseIt(key) {
key = stripInput(key);
key+=",";
var y = 1;
while(key.indexOf(",") > 0) {
var pos = key.indexOf(",");
keywords[y]=key.substring(0,pos);
keywords[y] = stripInput(keywords[y]);
//alert(keywords[y]);
y++;
if(y > 11) {
writeOutput("<body bgcolor=white text=black><B>Hay que buscar demasiadas palabras</B></body>");
return -1;}
key=key.substring(pos+1,key.length);}
return y-1;
}
var keywords = new makeArray(11);
//initialize search keyword array
function clearSearch(form) {
for(var x=1;x <= 11; x++) {
keywords[x]=""; }
}
function writeOutput(outString) {
parent.output.document.open();
parent.output.document.write(outString);
parent.output.document.close();
}
function dataEntry (){
this.v1= "";
this.v2="";
return this;
}
function makeRecordLinks(size) {
this.length = size;
for (var r=1; r<= size; r++) {
this[r] = new dataEntry();
this[r].v1= v1[r];
this[r].v2 = v2[r]; }
return this; }
function searchAll(keyword) {
var nw=1;
clearSearch(document.searchform);
var x = parseIt(keyword);
if(x == -1) { //abort on failed parse
return;}
if(keyword =="" || keyword.length < 2) {
writeOutput("<body bgcolor=white text=black><font face=arial,helvetica><B>Clave de búsqueda no válida.<P>Para obtener una clave de búsqueda válida es necesario:<p><ul><li>NO dejar el campo vacío<li>insertar por lo menos DOS caracteres</ul></b></font>");
return; }
parent.output.document.open();
parent.output.document.clear();
parent.document.close();
while(keywords[nw].length > 1) {
search(new makeRecordLinks(records_count),keywords[nw]);
nw++;}
if (navigator.appName != "Netscape"){
parent.output.document.close();}
}
function printRecords(records,q) {
while(Aut!="P.Annunziata") {};
parent.output.document.write("<tr><td>" + records[q].v1 +"</td></tr>");
}
function search(records, keyword) {
var rec_number=0;
var hit=0;
var finds=0;
parent.output.document.write("<body bgcolor=white text=black>");
parent.output.document.write(" <font face=Arial> Resultado de la búsqueda de la palabra: <b> " +keyword +"<p>");
parent.output.document.write("<table border=1>");
for (q=1; q<=records.length; q++) {
search_parm=records[q].v2.toLowerCase();
if (search_parm.indexOf(keyword) != -1) {
hit++;finds++;
if(hit < 2) {
printRecords(records,q);
}
}
//reset hit count for next search
hit=0;
} //closes the "for" loop
parent.output.document.write("</table>" +"<br><br>");
}
// SEZIONE DATI
//definiamo le arrays dei dati
var records_count=0;
v1=new makeArray(records_count);
v2 = new makeArray(records_count);
var a=0;
//////////////////////////////////////////////////////////////////////////////////////////
// DEFINIAMO LE PAGINE DA INSERIRE NEL DATABASE //
////////////////////////////////////////////////////////////////////////////////////////
a += 1
v1[a] = "<a href=prova01.htm target='_parent'><strong>Guía JavaScript</strong></a><b> - Breve guía javascript</b>"
v2[a] = "guía introducción javascript"
a += 1
v1[a] = "<a href=prova02.htm target='_parent'><strong>MiniFAQ</strong></a><b> - MiniFAQ Javascript</b>"
v2[a] = "javascript faq preguntas mini minifaq"
a += 1
v1[a] = "<a href=prova03.htm target='_parent'><strong>Enlace JavaScript</strong></a><b> - Los recursos en Internet</b>"
v2[a] = "recursos internet enlace javascript"
a += 1
v1[a] = "<a href=prova04.htm target='_top'><strong>Mi sitio Javascript</strong></a><b> - Portada del sitio</b>"
v2[a] = "javascript annunziata pasquale índice index home"
records_count = a;
// ----end data -------
</SCRIPT>
<iframe name="resultado" style="width:500 height:500" src="BusqMaterial.htm">
</iframe>
</body>