Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-11-2004
smendo smendo is offline
Registrado
 
Registrado: nov 2004
Posts: 8
Poder: 0
smendo Va por buen camino
capturar datos de una ventana emergente

Hola a todos/as

Estoy comenzando a desarrollar aplicaciones en PHP4 y me gustaria saber como resolver un problema que me ha surgido en uno de los trabajos que estoy realizando.

El caso es el siguiente:

Dispongo de una pagina php que inserta registros en una base de datos. Me interesa que en uno de los campos del formulario que han de rellenarse se dé la posibilidad de consultar de una lista el dato a introducir en dicho campo. La cuestion es que lo tengo todo (pagina de registro, enlace a pagina emergente que muestra la lista de datos, la pagina que muestra los datos a consultar, etc...) pero, y esta es mi pregunta...

¿Es posible que en la ventana emergente yo seleccione el dato (no sé a través de un enlace, o un boton auxiliar... como sea) y automáticamente se vuelque dicho dato en el campo del formulario de la pagina de registro y que además se cierre la ventana emergente que se ha abierto para la consulta previa?

El utilizar una pagina auxiliar de consulta es debido a que usar una lista desplegable en la pagina de insercion en la base de datos puede ser un poco pesado por la cantidad de elementos y el tipo de dato que habría que presentar.

Espero que hayais entendido la cuestion. Se aceptan alternativas...

Muchisimas gracias de antemano.
Responder Con Cita
  #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
Poder: 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
  #3  
Antiguo 01-12-2004
smendo smendo is offline
Registrado
 
Registrado: nov 2004
Posts: 8
Poder: 0
smendo Va por buen camino
Funciona !!

Gracias por tu ayuda, me ha funcionado perfectamente.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:52:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi