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:
Os pongo el código: function writeOutput(outString) { parent.output.document.open(); parent.output.document.write(outString); parent.output.document.close(); }
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>