image
Inicio » Foros » JavaScript

JavaScript

Obtener los datos de un iframe

Volver al foro | Responder | Añadir nuevo tema


De: jluis
Fecha: 16/08/2006
Mensaje:

hola quiero obtener los datos que tengo en un form dentro de un iframe en un campo oculto de un form de la pagina padre alguien sabe please... les agradezco muchisimo




Quizás le interese
De: Pollirrata
Util para: 7 personas

Fecha: 18/08/2006
Mensaje:

Creo que seria algo asi:

nombreIframe.nombreFormulario.campo

espero te sirva





De: jbosch(vosk)
Util para: 10 personas

Fecha: 20/08/2006
Mensaje:

creo que no puedes acceder directamente a los elementos de un iframe ya que este funciona como una nueva ventana. una forma de hacerlo es 'registrando' un puntero a la ventana iframe en la ventana principal, para que en cualquier momento puedas acceder a su contenido trabajando como si estuvieras en la misma ventana. un ejemplo, la ventana principal:

<html><head><script language="JavaScript">
var pv=null;
var pd=null;
function A(pvi,pdi) {pv=pvi;pd=pdi;}
function B() {alert(pd.getElementById('texto').value);}
</script></head><body>
<iframe src="qwe.html"></iframe>
<input type="button" onClick="B();" value="Ejemplo">
</body></html>

y la iframe 'qwe.html':

<html><head><script language="JavaScript">
function A() {window.top.window.A(this.window,this.document);}
</script></head><body onLoad="A();">
<form><input type="text" id="texto" value="123">
</form></body></html>

observa lo que sucede: se carga la iframe y se ejecuta la llamada a la funcion de registro situada en la ventana principal

'window.top' para subir de la iframe a la ventana principal
'window.funcion()' para ejecutar una funcion javascript asociada a esa ventana

esa funcion de registro lleva dos parametros (puedes añadir mas): 'pvi' (puntero ventana iframe) y 'pdi' (puntero documento iframe). si ya sabes que solo vas a trabajar con un campo (o incluso con un formulario) puedes enviar un puntero a este campo o a ese formulario para trabajar directamente con el (recuerda que en caso de enviar punteros a elementos de la página deberas esperar a que esten creados, en caso contrario se produciria un error; para evitarlo podrias usar el evento 'onload' en el body o simplementa trasladar el script al final de la página). el registro simplemente acepta los valores de los punteros sin comprobar si son correctos o no. luego para trabajar con los punteros a la iframe solo has de hacerlo como si trabajaras directamente con la página principal: para acceder a un elemento de 'document' usaras el puntero al documento de la iframe, que en este ejemplo será 'pd': el caso de ejempo recoge el valor de un campo de texto. si quisieras ejecutar una funcion de la iframe desde la principal deberias usar el puntero a la  ventana 'pv' y llamar a la funcion: (no está en el ejemplo) si añades en la iframe una funcion  tal que

function saluda() {alert("Hola desde la iframe");}

puedes ejecutarla desde la principal con

pv.saluda();

para completar el ejemplo solo falta añadir una funcion para borrar el registro que restaurará al valor 'null' los punteros y que se ejecutará desde la iframe mediante el evento 'onunload'; junto con esto deberás añadir un condicional que evite el uso de los punteros cuando estos sean nulos (para evitar errores):

if(!pd) return;

ya ves como se simplifica el trabajo con los punteros a la iframe: es fácil de hacer, rápido y no hay complicaciones. puedes complicarlo tanto como quieras, trabajar con listas de punteros si usas varias iframes e incluso puedes aplicarlo al trabajo con ventanas hijas. te sugiero que cojas las ideas basicas de todo esto y pruebes a hacerlo sin copiar/pegar.

jbosch(vosk)





De: anonimo
Util para: 2 personas

Fecha: 26/08/2006
Mensaje:

tengo una duda ocupo el javascript onload en mi pag, todo se ve perfecto el icono donde dice cargando las imajenes se ven etc. menos los botones en flash, como remedio eso, agradeseria una respuesta




De: Gabriel
Util para: 9 personas

Fecha: 04/09/2006
Mensaje:

Primero agradecer este articulo me ayudo solucionar un problema pasar un valor de una variable desde un iframe a la hoja madre, al código que llegue es muy sencillo gracias ala explicación que aquí esta expuesta:

 

 

Index.html

 

<input type="text" name="Contenedor">

<iframe src="pruebaIframe.html"></iframe>

 

 

pruebaIframe.html

 

<html>

<head>

<script language="JavaScript">

function B() {

            window.top.Contenedor.value = document.f.txtorigen.value;

}

 

 

</script>

</head>

<body>

Este es el Iframe<br>

<Form name="f">

<input type="text" name="txtorigen" id="txtorigen"><br>

<input type="button" onClick="B();" value="BOTON">

</form>

</body>

</html>

 

 En mi caso la solución del problema estaba en entender “window.top” y como funciona, creo que esto puede servir para alguien

Saludos

Gabo





De: raul
Util para: 3 personas

Fecha: 22/11/2007
Mensaje:

el que ha dado el ejemplo es un experto



De: Mario García
Util para: 2 personas

Fecha: 03/03/2008
Mensaje:

Gracias por los ejemplos me fueron de mucha ayuda



De: Maury004
Util para: 2 personas

Fecha: 25/05/2009
Mensaje:

Disculpen una pregunta debe ser algo simple pero no se la respuesta, el código de Gabriel funciona correctamente en IE pero en firefox no funciona, quiza debo colocar algun código adicional para quie funcione en firefox...???

Lo que yo deseo hacer es lo siguiente, tengo una página principal, la cual contiene un menu dinámico de la BDD en base al perfil de usuario, la idea es que cuando elijo algún item del menu la paso a un iframe para que no refresque la página, hasta ahí todo bien, la idea es al querese salir de la sesión no puedo redireccionar la página principal que contine el iframe para que me lance a la página de login nuevamente, espero alguien me pueda ayudar...

Quedo muy agradecido

Gracias, los ejemplos fueron muy útiles para mi...



Volver al foro | Responder | Añadir nuevo tema

Quizás le interese:

WebEstilo.com no se hace responsable de las opiniones que los usuarios puedan verter en cualquiera de los foros existentes.

Si te solucionó el problema pulsa en G+1


Gracias!






Comparte



Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.