Ver Mensaje Individual
  #2  
Antiguo 30-11-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si entiendo bien tú requieres pasar datos de una ventana emergente a la ventana que la abre. Como esto ocurre en el lado del cliente me parece que es más bien una tarea para javascript que para php.

Mira este ejemplo y ve si es lo que buscas.

En el ejemplo, el formulario consta de un cuadro de edición para escribir el código de un país y un enlace para abrir un catálogo de países desde dónde seleccionar.

Primero tenemos la página con el formulario:


Código PHP:
<!-- formulario.html -->
<
html>
<
head>
<
titleFormulario </title>
<
script language='javascript'>
  function 
cat_paises()
  {
    
catPaises window.open('paises.php''Paises''width=200,height=300');
  }
</script>
</head>

<body>
<form id='frmPaises'>
<table border='0' cellspacing='0' cellpadding='4'>
<tr>
  <td valign='top' rowspan='2'>Código de país</td>
  <td><input type='text' name='pais_id'></td>
</tr>
<tr>
  <td align='center'><a href='javascript: cat_paises()'>Seleccionar</a></td>
</tr>
</table>
</form>
</body>
</html> 
El enlace llama a la función cat_paises() de javascript que se encarga de abrir la ventana emergente localizada en el archivo paises.php:


Código PHP:
<?
  
// paises.php

  
$paises['mx'] = 'méxico';
  
$paises['es'] = 'españa';
  
$paises['ar'] = 'argentina';
  
$paises['gt'] = 'guatemala';

  
asort($paises);
?>
<html>
<head>
<script language='javascript'>
  function seleccionar(codigo)
  {
      formulario = opener.document.getElementById('frmPaises');
      formulario.pais_id.value = codigo;
      close();
  }
</script>
</head>

<body>
<table border='1' cellspacing='0' cellpadding='4'>
<?
  
foreach ($paises as $codigo => $pais)
  {
    print (
"<tr>\n");
    print (
"  <td><a href='javascript: seleccionar(\"$codigo\")'>$pais</a></td>\n");
    print (
"</tr>\n");
  }
?>
</table>
</body>
</html>
Obviamente el catálogo es simulado, para el real sí usarías php pero no es la parte importante aquí.

La tabla que se construye tiene una enlace que llama a la función javascript seleccionar() pasando el código de país como parámetro. Esta función es la que se encarga de colocar el dato en el formulario y cerrar la ventana emergente.

// Saludos
Responder Con Cita