Foros del Web » Programando para Internet » Javascript »

Pasar un valor desde un iframe

Estas en el tema de Pasar un valor desde un iframe en el foro de Javascript en Foros del Web. Saludos a la comunidad, tengo un problemita y no se como solucionarlo. Tengo una página y en esta se encuentra un IFRAME (con una subpagina ...
  #1 (permalink)  
Antiguo 02/01/2004, 22:52
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 20 años, 3 meses
Puntos: 0
Pasar un valor desde un iframe

Saludos a la comunidad, tengo un problemita y no se como solucionarlo.

Tengo una página y en esta se encuentra un IFRAME (con una subpagina dentro), quisiera saber como pasar un valor haciendo click en un vinculo dentro de esta pagina en el iframe hacia la pagina "parent" o contenedora en un textbox, hasta ahora he echo esto sólo con ventanas pop-up y me funcionaba, pero veo que con iframes es distinto.

Por favor alguien que pueda ayudarme.
Gracias de antemano
  #2 (permalink)  
Antiguo 03/01/2004, 03:29
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Pon lo siguiente:
Código:
<a href="#" 
onclick="parent.document.forms[0].elements['nombreDelTextArea'].value+='pepote ';return false;"
>añade un pepote en tu vida</a>
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 03/01/2004, 06:17
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 20 años, 3 meses
Puntos: 0
No me funciona

Me sale este error:
'parent.document.forms.0.elements' es nulo o no es un objeto

He probado el ejemplo tal cual lo planteaste y no me funca.

También probe colcando el unico campo de texto de éste ejemplo (el del parent) en un formulario con el nombre forms (con ese unico campo de texto) y tampoco nada.

No sé si sere muy patudo pero si me puedes echar una ayudita por MSN, el mio es [email protected] y te muestro el caso on-line.

Última edición por HiperJP; 03/01/2004 a las 06:20
  #4 (permalink)  
Antiguo 03/01/2004, 08:31
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
entonces prueba directamente con los nombres

<a href="#"
onclick="parent.document.nombreDelFormulario.nombreDelTextA rea.value+='pepote ';return false;"
>añade un pepote en tu vida</a>

  #5 (permalink)  
Antiguo 03/01/2004, 11:44
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 20 años, 3 meses
Puntos: 0
Una cosa se me olvidaba aclarar, es que que no hay formularios en la pagina parent, y no sé si habrá alguna manera de hacer esto sin que haya uno.

Quisiera saber si este ejemplo sirve para IFRAMES (o si es lo mismo que hacerlo con pop-ups)
  #6 (permalink)  
Antiguo 03/01/2004, 11:50
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Nop, no es igual entre frames o iframes que entre ventanas popup y sus respectivas madres (o padres)


si no hay formulario dale entonces un id al campo en cuestión y lo referencias mediante getElementById()

si al textarea le das un id="pepe" .....

<a href="#"
onclick="parent.document.getElementById('pepe').va lue+='pepote ';return false;"
>añade un pepote en tu vida</a>

  #7 (permalink)  
Antiguo 03/01/2004, 14:54
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 20 años, 3 meses
Puntos: 0
Muchas gracias, me funcionó perfecto

La última consulta:
¿Como podría eliminar un texto que esta en este mismo campo antes que se pusiera el otro texto del link?
  #8 (permalink)  
Antiguo 03/01/2004, 14:57
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Osea, dejarlo en blanco y que quede sólo el texto enviado desde el javascript? si es así, basta con que le quites el signo +


<a href="#"
onclick="parent.document.getElementById('pepe').va lue='pepote ';return false;"
>añade un pepote en tu vida</a>

  #9 (permalink)  
Antiguo 03/01/2004, 16:13
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 20 años, 3 meses
Puntos: 0
que fácil, me resulto todo perfecto, Muchas gracias.

Además entendi tu explicación de que es lo mismo hacer esto en iframes, frames, o pop-ups... realmente no sabia.

Gracias nuevamente.
  #10 (permalink)  
Antiguo 03/01/2004, 16:23
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
me alegra que lo resolvieras sin problemas

espero que haya sido un error de tipeo cuando dices que "es lo mismo iframes, que frames, que popups y madres" porque entre frames e iframes, sí es básicamente lo mismo (salvo alguna que otra diferencia) pero la forma de referenciar entre ventanas popup y madres difiere desde el inicio de sentencia.

por ejemplo, si hubieras querido hacer lo mismo a un campo de una popup habrías de haberle pedido nombreventana.document.getElementById('pepe').valu e='pepote ';return false;

en cambio si hubieras querido hacerlo desde una popup a un campo de texto de la ventana madre habrías de haberle pedido

opener.document.getElementById('pepe').value='pepo te ';return false;

  #11 (permalink)  
Antiguo 04/01/2004, 01:39
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 20 años, 3 meses
Puntos: 0
Eso lo tengo claro, me referia unicamente al caso especifico de pasar datos desde la ventana child a la padre (con frames o iframes).

Ya he tenido que pasar informacion desde pop-ups a openers y viceversa.

Gracias nuevamente
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 17:16.