Comunidad de diseño web y desarrollo en internet online

Llamar function javascript desde iFrame

Citar            
MensajeEscrito el 05 Ene 2009 02:20 pm
Hola, es la primera vez que escribo en este foro, siempre he encontrado aquí solución a mis problemas.

Tengo una página HTML que contiene 2 iframes, el 1 contiene un menú en el que hay un function que marca el elemento seleccionado cambiando el estilo del mismo

function marca(elm) {
if (seleccion != "") {seleccion.style.color="#ADDCE5"; seleccion.style.fontWeight="normal"; }
seleccion=elm;
seleccion.style.color="#FFFFFF";
seleccion.style.fontWeight="bold";
}

Me gustaría saber si desde el "iframe 2" donde se carga el contenido que eliges desde el menú es posible llamar la function marca(id elm) para que se ejecute en el "iframe 1" y de esta manera tener el elemento marcado cuando entras en la página.

Un saludo y gracias

Por sergiojungle

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ene 2009 04:22 pm
Le puedes asignar un Id al iframe 1 y luego desde el iframe 2 llamar la función utilizando parent:

Este código iria en el parent

Código :

function gEBI(vid)
{
   return document.getElementById(vid);
}


luego en el iframe 2 llamamos la función del iframe 1

Código :

parent.gEBI('iframe1').marca(elm);


De todos modos te recomiendo que, en lo posible, no utilices iframes; sino que maquetes con DIVS y CSS.

Por ShotoKan

45 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 06 Ene 2009 07:46 pm
Gracias por contestar tan rápido.
No va, probaré hacerlo de otra manera.

Por sergiojungle

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Ene 2009 01:44 pm
Disculpa el error, pero fue que cree ese código sin probarlo; la forma correcta de efectuar la operación, es así:

- En lugar de asignar un Id al iframe, asignale un name.

Código :

<iframe name='one' ...


-Luego en el iframe 2 llamas la función que esta en el frame 'one'

Código :

<a href='javascript:;' onclick='parent.one.marca(elm);'>


Es decir, en donde aparece one se escribe el nombre del iframe al que se desea acceder.

Por ShotoKan

45 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 Ene 2009 02:42 pm
ShotoKan, ya lo dijo.

Investiga sobre los siguientes objectos de javascript en google, te ayudaran bastante a entender lo que necesitas hacer: parent, self y window.

Suerte

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 12 Ene 2009 06:40 pm
hola, yo he buscando en internet y no e tenido exito pues la verdad ahce rato necesito la solucion pues yo tambien tengo un iframar y quiero que una funciona de javascrit modifique un campo que esta en la ventana principal, y nada de nada

pero no se si esto te sirba

http://www.webmasterworld.com/forum91/3289.htm
http://www.webdeveloper.com/forum/showthread.php?t=83182 <<-- te la recomiendo

Por fa si quien tiene alguin dato por favor ayude a la causa je je je

GRacias manhesoft

Por manhesoft

45 de clabLevel



 

Medellin, Colombia

msie
Citar            
MensajeEscrito el 06 Jul 2010 04:12 am

manhesoft escribió:

hola, yo he buscando en internet y no e tenido exito pues la verdad ahce rato necesito la solucion pues yo tambien tengo un iframar y quiero que una funciona de javascrit modifique un campo que esta en la ventana principal, y nada de nada

pero no se si esto te sirba

http://www.webmasterworld.com/forum91/3289.htm
http://www.webdeveloper.com/forum/showthread.php?t=83182 <<-- te la recomiendo

Por fa si quien tiene alguin dato por favor ayude a la causa je je je

GRacias manhesoft


yo tenia el mismo problema!!

Pero pues es como dice arriba con "parent".
si vas a llamar una funcion de html que contiene el iframe por ejemplo yo lo tengo que al dar un click en una imagen:

<a href=\"javascript:parent.expand('login')\" style='cursor: hand'><img src='http://img143.imageshack.us/img143/9996/mknfbleach27405.png' width='900' height='500'></a>

o si es una funcion que tengas en el html que cargo el iframe y desde ahi quieres modificar algo del html que contiene el iframe:

function expand(id){
parent.document.getElementById('tapa').style.display = "block";
parent.document.getElementById(id).style.display = "block";
}

Por david_lomber

0 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.