Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Javascript (http://www.forosdelweb.com/f13/)
-   -   Popup (http://www.forosdelweb.com/f13/popup-577699/)

Carol_84 19/04/2008 05:15

Popup
 
Hola:
Quería preguntaros como hacer para que cuando se pulse en un imagen,se cree una segunda ventana(popup), y que en esta ventana, cuando se añada los datos, y al cerrarla, me aparezcan en la ventana principal??
Sé como crear el popup, pero no sé como hacer para que los datos de la ventana secundaria aparezcan en la primera ventana.
Gracias

mgusdl 19/04/2008 06:08

Re: Popup
 
Eso se hace con javascript, haciendo referencia al objeto opener, y dentro de este objeto a sus elementos.

Carol_84 19/04/2008 07:38

Re: Popup
 
Ya.... pero esto no me vale. Ya he creado mi popup, pero el problema que tengo es q cuando por ejemplo se selecciona en un select de la ventana hija, no sé como9 hacer que aparezcan los datos seleccionados en la ventana padre....
¿Alguien puede mandarme un enlace de como se hace..?Sé que alguna vez lo he leido en este foro, pero he mirado en el FAQ, y no lo he encontrado...

mgusdl 19/04/2008 09:23

Re: Popup
 
A ver, pongamos que por ejemplo la ventana padre es asi

Código HTML:

<html>
<form name="cliente" method="post" action="#">
<input type="text" name="nombre" value="">
<input type="text" name="apellidos" value="">
<img src="btn_buscar.jpg" onClick="buscar()" />
<input type="submit" name="enviar">
</form>
<script type="text/javascript">
<!--
function buscar(ident)
{
ruta = 'buscarcliente.php';
if (ident) ruta += '?buscar=' + ident;
window.open(ruta, 'busqueda', 'width=200px, height=200px');
}
-->

</script>
</html>


Y en la ventana hijo tenemos

Código HTML:

<html>
<select id="nombres">
  <option value="pepe">pepe</option>
  <option value="juan">juan</option>
  <option value="antonio">antonio</option>
  <option value="manolo">manolo</option>
</select>
<input type="button" value="aceptar" onClick="pasardatos(document.getElementById('nombres').value);">
<script type="text/javascript">
<!--
function pasardatos(valor)
{
var frm = window.opener.document.forms.cliente;
frm.nombre.value = valor;
window.close();
}
-->

</script>
</html>

En este ejemplo pasariamos el nombre de una ventana a otra.
Si tuviesemos que pasar más datos de una ventana a otra simplemente habria que ir añadiendo campos.
Si además quieres buscar campos concretos puedes mandar un valor de la ventana padre a la hijo al abrir, para ello he agregado la variable ident

Espero que sea esto lo que buscas

Carol_84 19/04/2008 17:58

Re: Popup
 
Gracias, si era eso lo q necesitaba!!!!

Carol_84 21/04/2008 11:08

Re: Popup
 
hola: mi problema ahora es que tengo un select multiple. ¿pero como podría enviar el valor del select multiple del popup a la ventana padre?Es que cuando selecciono varios valores del select, solo me envia un valor a la ventana padre.....

mgusdl 22/04/2008 10:10

Re: Popup
 
Buenas

Tendrás que hacer un bucle y recorrer los valores del select y comprobar los que están seleccionados (if (obj.selected == true) {} ). Cada vez que encuentres un elemento seleccionado tendrás que hacer un bucle en el select de la ventana padre para buscar el elemento y marcarlo como seleccionado.
Es una lata y parece que va a ser lento (yo al menos antes pensaba así), pero apenas tarda en hacer esos bucles.

Salu2


La zona horaria es GMT -6. Ahora son las 19:42.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.