Foros del Web » Programando para Internet » Javascript »

Escribir de forma dinamica en iframe

Estas en el tema de Escribir de forma dinamica en iframe en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 19/06/2006, 01:49
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 2 meses
Puntos: 0
Escribir de forma dinamica en iframe

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>
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #2 (permalink)  
Antiguo 19/06/2006, 01:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola:

Fíjate en el código de mi Probador de scripts

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 19/06/2006, 02:38
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 2 meses
Puntos: 0
muchiiiiiiiiiisimas gracias!!!!

he realizado una pruebas ràpidas y ahora si que referencio bien al iframe!!!
Acabas de resolverme un gran poblema

GRACIAS
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:35.