Enviar datos desde ventana secundaria a formulario

augusto_jaramillo
27 de Julio del 2004
Hola foro:

Soy un poco novato en las lides de la programacion con PHP y tengo un problemita con lo siguiente:

Tengo un formulario que me dispara una ventana secundaria (popup) para realizar una consulta en base de datos y mostrar en esta ventana secundaria el resultado en una tabla. Deseo seleccionar un registros de la respuesta obtenida por medio de checkbox, radio o button y enviar esos datos a mi formulario principal.

Tengo en mi script principal lo siguiente:

<html>
<head>
<title>Formulario Zonas</title>
<script languaje="javascript">
var miPopup
function abreVentana(){
miPopup = window.open("zonas.php","miwin","width=500,height=350,scrollbars=yes,toolbar=no,location=1")
moPopup.focus()
}
</script>
</head>
<body onLoad="window.name='principal'">
<form name="formulario" method="get">
<table border="1" cellspacing="0" cellpadding="1" >
<tr>
<td align="center">Zona</td>
<td align="center">Nombre</td>
</tr>
<tr>
<td align="center">
<input type=text name=zona value="<? echo $_GET['zona']; ?>" onChange='abreVentana()' size=12 maxlength=12>
</td>
<td align="center">
<input type=text name=desc_zona value="<? echo $_GET['desc_zona']; ?>" size=30 maxlength=30>
</td>
</tr>
</table>
</form>
</body>
</html>

En el script secundario:

<?
include 'DB.php';
include 'configuracion/abrirbd1.php';
$sql = "SELECT * FROM zonas ORDER BY zona";
$result = $db->query($sql);
$mat_zon = $db->getAll($sql);
$cuantos = count($mat_zon);
$lineasxpagi = 10;
$pagi = 0;
?>

<html>
<head>
</head>
<body topmargin="0" leftmargin="0" bgcolor="#FFF7E7" link="#000000">
<form name="form1" action="pruebas.php" target="principal" method="get" onSubmit='window.close()'>
<table>
<tr bgColor=#CBD9E5><th></th><th>Zona </th><th>Nombre</th></tr>
<td><input type='checkbox'></td>
<td><input type=text name='zona' value='<? echo trim($mat_zon[$j]['zona']); ?>'</td>
<td><input type=text name='desc_zona' value='<? echo trim($mat_zon[$j]['desc_zona']); ?>'</td>
<tr>
</table>
</form>
</body>
</html>

El problema es que no se como pasar las variables al script principal... Sera que me pueden ayurar por favor?

Un saludo

vlc
27 de Julio del 2004
Eso lo tienes que hacer con Javascript. En la ventana popup mete un script mas o menos asi:

<script LANGUAGE="JavaScript">
function eviaValor ( val ) {
window.opener.document.formulario.zona.value= val;
window.close ();
}
En el onClick, onChange, o lo que sea del campo seleccionado, mandale el valor del campo a esta funcion.

Salu2
Paco