Foros del Web » Programando para Internet » Javascript »

[B]Actulizar datos de formulario desde ventana secundaria[/B]

Estas en el tema de [B]Actulizar datos de formulario desde ventana secundaria[/B] en el foro de Javascript en Foros del Web. Hola foro.... Tengo un lio por ahi con la actualizacion de los datos de un formulario desde una ventana secundaria (popup). Mi idea es la ...
  #1 (permalink)  
Antiguo 22/07/2004, 14:49
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Exclamación Actulizar datos de formulario desde ventana secundaria

Hola foro....

Tengo un lio por ahi con la actualizacion de los datos de un formulario desde una ventana secundaria (popup).

Mi idea es la siguiente:

En un formulario tengo los siguientes datos: Id del cliente, Direccion, Telefono y Ciudad.

Necesito que en una ventana secundaria me aparezcan estos datos en un combobox desde una consulta a la base da datos, Al elegir un Id me refleje los datos en el formulario principal.

Como lo puedo hacer?

De antemano, Mil gracias por colaborarme.

Última edición por Cluster; 26/07/2004 a las 20:02 Razón: Quitando bbcode del título...
  #2 (permalink)  
Antiguo 22/07/2004, 15:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Con javascript puedes pasar un valor de una ventana (de un formulario de una ventana) a la página pádre o bien al seleccionar ese elemento de tu lista desplegable .. forzar dos cosas: 1) cierre de tu ventana 2) recarga de la página padre con tal parámetro en el URL (tu "ID") para que esta haga la consulta a tu BD (previa recarga de página) y llene tu formulario con los valores pre-establecidos de ese registro que vas a consultar.

Otras técnicas más complejas sería la de "Remote Scripting" (Usa google .. verás ejemplos en PHP).

Un saludo,
  #3 (permalink)  
Antiguo 22/07/2004, 16:29
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
La cosa es que en los scripts que tengo para esto efectivamente abre la ventana secundaria pero no se que es la cosa que el codigo php del script para la pagina secundaria no lo traduce bien, se ve en la ventana parte de ese codigo


Gracias
  #4 (permalink)  
Antiguo 22/07/2004, 17:43
 
Fecha de Ingreso: octubre-2003
Ubicación: Veracruz, México
Mensajes: 169
Antigüedad: 20 años, 6 meses
Puntos: 0
posible solución

Te voy a poner como lo haria si fuese tu situación como yo la entendi.
Me imagino tienes un formulario que abre un pop-up (por ejemplo) ke despliega info de una tabla tu seleccionas algun checkbox, o combo box y kiereske cuando des clic en un botón se altere el script de la página principal.

Sí asi fuese esta es mi solución:

1.- Nombra con JavaScript, la ventana principal. Ejemplo:
<body onLoad="window.name='principal'">
2.- En la ventana hija o pop-up en el target de la etiqueta <form>vas a ponerle asi:
<form name="form1" action="nombre_del_script_que se ejecuto_en la ventana_principal.php" target="nombre_que_le_diste_a_la_ventana_principal (en este caso, principal)">

Si quieres cerrar la ventana hija pues agregas ahi sikieres onSubmit="close" dentro de la misma etiqueta <form>}

Ahora bien, tu script de la página principal deberá estar preparado para recibir parametros de ese form, eso depende que método HTTP uses POST ($_POST) o GET ($_GET).
De esta manera tu script puede tener diferentes comportamientos dependiendo si existen o no variables $_POST o $_GET o si no viene nada.

Está es mi solución. Si no es lo que necesitas, te pido una disculpa, y si aun tienes el problema, lo volvemos a checar, no hay problema.

Suerte
  #5 (permalink)  
Antiguo 23/07/2004, 07:40
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Mil Gracias ray_rockus, eso es exactamente lo que necesito. Hare lo que me indicas... Cualquier cosa la estare comentando
  #6 (permalink)  
Antiguo 23/07/2004, 07:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
La idea del punto 2 está muy bien ... (apuntar el target a la ventana principal) .. Ese mismo nombre que defines vía javascript también puedes referenciarte desde la ventana que abres a la "padre" con el "opener" (sin conocer el nombre de la ventana que lo abrío) .. pero esto ya son detalles de javascript.

(creo que sería bueno mover el mensaje al foro de javacript para que aporten sus comentarios .. )

Un saludo,
  #7 (permalink)  
Antiguo 23/07/2004, 08:41
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Mil gracias Cluster por tu atencion... estoy aplicando lo que me indico ray_rockus y por lo pronto me esta funcionando... estare en contacto

Un saludo
  #8 (permalink)  
Antiguo 26/07/2004, 16:11
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Holas !

Señores... Con la novedad de que me quedo grande . Les adjunto script de la ventana secundaria. No pude armar el input type=radio para que me lleve esos datos a la pagina principal. A ver si me regalan el ultimo empujoncito armando el value del type=radio. Mil gracias

<?php
include 'DB.php';
include 'configuracion/abrirbd1.php';
$sql = "SELECT * FROM zonas";
$result = $db->query($sql);
$mat_zon = $db->getAll($sql);
?>

<html>
<body topmargin='0' leftmargin='0'>
<form name='form1' action='pruebas.php' target='principal'>
<table border="1">
<?php
while ($result->fetchInto($row))
{ ?>
<td><input type=radio value="?????" onClick='window.close()'>
<td><? echo $row['zona']; ?></td><td><? echo $row['desc_zona']; ?></td><tr>
<? } ?>
</table>
</form>
</body>
</html>



En el script principal tengo:

<html>
<head>
<script languaje="javascript">
function abrirVentana() {
var miPopup
miPopup = window.open("http://miServer/zona.php","miVentana","width=600, height=400,menubar=no")
}
</script>
</head>
<body topmargin="0" leftmargin="0" onLoad="principal">
<form action="<? echo $PHP_SELF ?>" method="get">
<table border=1>
<td>Zona</td>
<td><input type="text" name="zona" value="<? echo $zona; ?>" onChange="abrirVentana()"></td>
<td>Nombre</td>
<td><input type="text" name="desc_zona" value="<? echo $desc_zona; ?>"></td>
</table>
</form>
</body>
</html>
  #9 (permalink)  
Antiguo 26/07/2004, 16:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
No sé que dato será el que quieres "pasar" .. pero podría ser algo tipo:

><input type=radio value="<? echo $row['zona'] ?>" onClick='window.close()'>

De todas formas .. al hacer click sobre ese "radio" .. vas a cerrar la ventana .. pero, el dato no va a ir a parar a ningún sitio .. pese que usas un formulario (<form>) no lo estás enviando a ningún sitio (hacer el "submit") en tu caso el submit habría que hacer automático por javacript a la vez que el "close" que cierra tu ventana.

pero .. ya que el dato lo requiers en:

><input type="text" name="zona" value="<? echo $zona; ?>" onChange="abrirVentana()"></td>

El paso de varaibles debería ser por Javascript entre la ventana abierta y la padre que la abrío.

De todo esto te podrán orientar mejor en el foro de Javascript.

Un saludo,

PD: Si lo ves claro .. movemos el mensaje al foro de javascript .. o esperamos alguna solución "PHP" que implicaría recargar la página padre .. cosa que supongo que no querras hacer si puedes hacerlo con javascript.
  #10 (permalink)  
Antiguo 26/07/2004, 17:02
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Si... entonces voy a hacer esa consulta en el foro de javascript ya que segun lo me indicas la solucion va a estar por ese lado.... de todas formas agradezco la colaboracion prestada... Cualquier cosa estare en contacto.

Mil gracias. Cordial saludo
  #11 (permalink)  
Antiguo 26/07/2004, 19:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Ok, entonces movemos el mensaje la foro de Javascript.

Un saludo,
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 10:05.