Foros del Web » Programando para Internet » Javascript »

Pasar dato de ventana hija a padre.

Estas en el tema de Pasar dato de ventana hija a padre. en el foro de Javascript en Foros del Web. Hola gente. Tengo una ventana padre donde hay un campo de texto y un botón. Al pinchar este boton me abre un popup donde tengo ...
  #1 (permalink)  
Antiguo 24/07/2008, 01:19
 
Fecha de Ingreso: febrero-2004
Mensajes: 85
Antigüedad: 20 años, 3 meses
Puntos: 0
Pasar dato de ventana hija a padre.

Hola gente. Tengo una ventana padre donde hay un campo de texto y un botón. Al pinchar este boton me abre un popup donde tengo un objeto radio y un botón, que si marcando dicho radio y pinchando en el botón, me manda el valor del objeto radio al campo de texto que tenía en la venta padre. Hasta ahí me funciona bien. Os pongo el código y a continuación os explico el problema:

VENTANAPADRE.HTML

<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form>
<input type="Text" id="tela">
<input type="button" value="Seleccionar tela" onclick="window.open('ventanahija.html','miventana ','width=308,height=200,menubar=no,scrollbars=1'); ">
</form>
</body>
</html>

VENTANAHIJA.HTML
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form>
<input type="radio" name="Dato" value="uno" id="Dato">
Dato1<br>
<br>
<br>
<input type="button" value="Recupera Dato" onclick="recuperaDato();">
</form>
</body>
</html>

<script>
function recuperaDato(){
window.opener.document.all.tela.value = document.all.Dato.value;
}
</script>

El problema es que con un solo objeto radio me funciona correctamente, pero si añado más ya no me carga el valor del radio, si no que me carga un undefined. Eso es debido a que a todos los radio los llamo con el mismo nombre para que solo se pueda coger una opción. ¿Alguien me podría decir como tener varios radio y que me envíe correctamente su valor?. No soy capaz.

Muchas gracias.
  #2 (permalink)  
Antiguo 24/07/2008, 01:45
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Respuesta: Pasar dato de ventana hija a padre.

Hola:

En principio si usas document.all estás discriminando a los navegadores que no sean explorer y opera (y no es estándar), entonces te recomiendo que uses getElementById... y con distintos id's puedes referenciarlos...

Y si quieres recuperar el value del radio seleccionado, debes recorrer ese array... por ejemplo:

Código:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script>
function recuperaDato(f){
valor = "";
for (i = 0, d = f.dato, total = d.length; i < total; i ++)
 if (d[i].checked) valor = d[i].value;
 if (valor == "") alert("debe seleccionar un radio...")
 else {
  opener.document.getElementById("tela").value = valor;
  window.close();
 }
}
</script> 
</head>

<body>
<form>
<input type="radio" name="dato" value="uno" >
Dato1<br>
<input type="radio" name="dato" value="dos" >
Dato1<br>
<br>
<br>
<input type="button" value="Recupera Dato" onclick="recuperaDato(this.form);">
</form>
</body>
</html>
Pruébalo y nos cuentas.
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 24/07/2008, 03:15
 
Fecha de Ingreso: febrero-2004
Mensajes: 85
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Pasar dato de ventana hija a padre.

Pues que quieres que te diga, que MUCHÍSIMAS GRACIAS. Lo he montado y adaptado a mi código y funciona perfectamente. Es lo que quería conseguir hacer.

Un saludo y mil gracias.
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:33.