Foros del Web » Programando para Internet » Javascript »

Consulta sobre iframes

Estas en el tema de Consulta sobre iframes en el foro de Javascript en Foros del Web. Buenas tardes...... Se que es simple pero se me hace mazamorra el cerebro, y no encuentro la solución..... Verán, se trata de lo siguiente. Tengo ...
  #1 (permalink)  
Antiguo 22/06/2010, 12:17
Avatar de freesoftwarrior  
Fecha de Ingreso: marzo-2006
Mensajes: 362
Antigüedad: 18 años, 1 mes
Puntos: 10
Consulta sobre iframes

Buenas tardes......

Se que es simple pero se me hace mazamorra el cerebro, y no encuentro la solución.....

Verán, se trata de lo siguiente. Tengo un iframe que llama a una página que a su vez tiene 2 iframes y necesito poder moverme entre los 2 últimos iframes. Es algo así

iframeA = iframeB - iframeC

para moverme entre iframes uso

parent.iframeB.location

parent.iframeC.location


pero no funciona, se que es algo de padres e hijos en frames pero no recuerdo como se hace en javascript.

Espero haberme explicado bien.... ojalá puedan darme una ayuda

Un saludo desde el Perú
  #2 (permalink)  
Antiguo 22/06/2010, 12:32
 
Fecha de Ingreso: diciembre-2008
Mensajes: 83
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Consulta sobre iframes

prueba con esto

parent.document.getElementById("iframeC").location

a mi me funciona, aunque a veces me es necesario poner

parent.parent.document.getElementById("iframeC").l ocation

no se porque a veces es asi, de hecho el trabajo con iframes es un poco molesto

espero te sirva
  #3 (permalink)  
Antiguo 22/06/2010, 13:50
Avatar de freesoftwarrior  
Fecha de Ingreso: marzo-2006
Mensajes: 362
Antigüedad: 18 años, 1 mes
Puntos: 10
Respuesta: Consulta sobre iframes

muchas gracias por tu pronta respuesta...... pues no, no me funciona.....

en la página INDEX.ASP tengo el iframe

Cita:
<iframe src="main.asp?c=<%= Request("c") %>" name="cuerpo" id="cuerpo" width="1000" height="500" scrolling="no" frameborder="0"></iframe>

en la página MAIN.ASP tengo 2 iframes

Cita:
<iframe src="main.asp?c=<%= Request("c") %>&marco=distritos" name="distritos" id="distritos" width="270" height="500" scrolling="no" frameborder="1"></iframe>

<iframe src="main.asp?c=<%= Request("c") %>&marco=estaciones" name="marcoEstaciones" id="marcoEstaciones" width="770" height="500" scrolling="no" frameborder="1"></iframe>

La cuestión es que un link que esta en la página del iframe DISTRITOS muestre su contenido en el iframe ESTACIONES. Para ello tengo este código


Cita:
function indiceDistritos(n)
{
if (n==0)
{parent.document.getElementById("marcoEstaciones") .location.href="main.asp?c=est&d=99999&todos=ok";}
<%
Temp="Select * From Distritos Order By Distrito"
Tabla1.Open Temp, Conexion
arrDBDataDistritos = Tabla1.GetRows()
Tabla1.Close

iRecFirstDis = LBound(arrDBDataDistritos, 2)
iRecLastDis = UBound(arrDBDataDistritos, 2)

For K = iRecFirstDis To iRecLastDis
%>
if (n==<%= K+1 %>)
{parent.document.getElementById("marcoEstaciones") .location.href="main.asp?c=est&d=<%= arrDBDataDistritos(0,K) %>&p=<%= K %>";}
<%
Next
%>
}
</script>

<select name="distritos" size="28" class="listados" onChange="indiceDistritos(this.selectedIndex,1); return false;">
<option>Mostrar todos</option>
<%
For K = iRecFirstDis To iRecLastDis
%>
<option value="<%= arrDBDataDistritos(0,K) %>"><%= arrDBDataDistritos(1,K) %></option>
<%
Next
%>
</select>

y no funciona..... en Chrome no muestra error (como no tiene barra de estado es molesto trabajar con este browser pues no hay forma que notifique los errores) lo pruebo en IE y me da este error:


Cita:
Mensaje: 'parent.document.getElementById(...).location' es nulo o no es un objeto
Línea: 40
Carácter: 4
Código: 0

y la línea 40 es la que corresponde a

Cita:
{parent.document.getElementById("marcoEstaciones") .location.href="main.asp?c=est&d=99999&todos=ok";}

No soy muy partidario de usar iframes también para ganar tiempo lo hago... en cierta forma me resulta más cómodo y simple.

¿Se te ocurre alguna idea?....

Te agradezco el apoyo

Última edición por freesoftwarrior; 22/06/2010 a las 14:09
  #4 (permalink)  
Antiguo 22/06/2010, 14:04
 
Fecha de Ingreso: diciembre-2008
Mensajes: 83
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Consulta sobre iframes

bueno te pasa lo q me ha pasado algunas veces, q en unos objetos no los coge por el id, prueba con el name, ademas, un iframe no tiene la propiedad href, si quieres cambiar el contenido, tienes q cambiar el src, prueba asi

{parent.document.getElementById("estaciones") .location.src="main.asp?c=est&d=99999&todos=ok";}
  #5 (permalink)  
Antiguo 22/06/2010, 14:09
Avatar de freesoftwarrior  
Fecha de Ingreso: marzo-2006
Mensajes: 362
Antigüedad: 18 años, 1 mes
Puntos: 10
Respuesta: Consulta sobre iframes

ok.... pero ten en cuenta de que no estoy hablando de propiedades del iframe sino de un combobox que activa un código en javascript para cargar una página, por eso el href.

Probé con lo que me dijiste y lo mismo, como si nada..... el mismo error de que no es un objeto

y el iframe tiene tanto el id como el nombre con el mismo dato, aunque en el ejemplo lo puse con distinto dato ya lo he corregido

me tiene cabezón esto jejejeje
  #6 (permalink)  
Antiguo 22/06/2010, 14:54
 
Fecha de Ingreso: diciembre-2008
Mensajes: 83
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Consulta sobre iframes

bueno hasta donde tengo entendido, para cambiar el contenido de un iframe, se hace cambiandole la propiedad src, ten eso en cuenta, prueba poniendo parent.parent, o prueba cambiar esa funcion de javascript q pones en el post en otro lado, y validando q el select exista..
  #7 (permalink)  
Antiguo 22/06/2010, 14:56
Avatar de freesoftwarrior  
Fecha de Ingreso: marzo-2006
Mensajes: 362
Antigüedad: 18 años, 1 mes
Puntos: 10
Respuesta: Consulta sobre iframes

todo eso hice..... lo del parent.parent lo del src, lo del name.... simplemente no quiere andar... ya creo que tiro toalla porque me tiene cabezón jejejeje...... gracias de verdad

Etiquetas: iframe
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 06:17.