Foros del Web » Programando para Internet » Javascript »

Cerrar ventana modal y recargar automaticamente la ventana padre

Estas en el tema de Cerrar ventana modal y recargar automaticamente la ventana padre en el foro de Javascript en Foros del Web. Hola, necesito que ... al cerrar una ventana modal que abro... cuando el usuario la cierre, se recargue la ventana padre desde donde se abrio.... ...
  #1 (permalink)  
Antiguo 14/04/2010, 08:02
 
Fecha de Ingreso: enero-2005
Ubicación: Málaga
Mensajes: 30
Antigüedad: 19 años, 3 meses
Puntos: 1
Cerrar ventana modal y recargar automaticamente la ventana padre

Hola, necesito que ... al cerrar una ventana modal que abro... cuando el usuario la cierre, se recargue la ventana padre desde donde se abrio....

A ver, esto se hacerlo sin problemas poniendo un boton de cerrar, que justo antes de hacer el close() , recargue la pagina padre ... pero ... como puedo hacerlo si el usuario cierra la ventana pulsando la X del navegador?

osea, como detecta el padre que la ventana modal hija se ha cerrado y por lo tanto que ha de recargarse?

Por ejemplo:

Código:
<div align="left"><a href="#" onclick="window.showModalDialog('/xxxxxxxxx.html?parametro=dddsdfsdf','name','dialogWidth:670px;dialogHeight:480px');">
Esto me abre la ventana ... y quiero que cuando se cierre "No voy poner ningun boton de cerrar en el html de ese popup" se recarge la pagina desde donde se abrio ...

¿como lo hago?

Muchas gracias

Última edición por fmorales; 14/04/2010 a las 08:08
  #2 (permalink)  
Antiguo 14/04/2010, 09:05
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 3 meses
Puntos: 57
Respuesta: Cerrar ventana modal y recargar automaticamente la ventana padre

Es tan simple como poner la instruccion para actualizar la pagina despues de hacer el showModalDialog. Cuando abres la ventana modal todo el control se pasa a esa ventana y el padre deja de hacer todo lo que esta haciendo. El padre continua una vez que la ventana hija se cerro.

Código html:
Ver original
  1. function abrir() {
  2.   window.showModalDialog(...);
  3.   alert("La ventana hija se ha cerrado");
  4.   <div onclick="abrir()">...</div>
  5. </body>
  #3 (permalink)  
Antiguo 14/04/2010, 11:34
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Cerrar ventana modal y recargar automaticamente la ventana padre

Hola

Con respecto a ventanas modales, FF te dará algún problema. Un poco de lectura

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 15/04/2010, 00:00
 
Fecha de Ingreso: enero-2005
Ubicación: Málaga
Mensajes: 30
Antigüedad: 19 años, 3 meses
Puntos: 1
Respuesta: Cerrar ventana modal y recargar automaticamente la ventana padre

Hola, si esto está claro, pero cuando el usuario cierra la ventana modal ... y la ventana padre recupera el control .... como la recargo automáticamente?, o sea, como sabe la ventana padre que continua y por lo tanto se ha de recargar?

Supongo que en la ventana padre tendra que haber un codigo tal que: (pseudocodigo)

if (ventana_modal_que_he_abierto se cierrar)
{
reload()
}

ó en la modal

if (usuario_cierra_la_ventana pulsando la X)
{
reload padre()
}


Gracias


Cita:
Iniciado por posman Ver Mensaje
Es tan simple como poner la instruccion para actualizar la pagina despues de hacer el showModalDialog. Cuando abres la ventana modal todo el control se pasa a esa ventana y el padre deja de hacer todo lo que esta haciendo. El padre continua una vez que la ventana hija se cerro.

Código html:
Ver original
  1. function abrir() {
  2.   window.showModalDialog(...);
  3.   alert("La ventana hija se ha cerrado");
  4.   <div onclick="abrir()">...</div>
  5. </body>

Última edición por fmorales; 15/04/2010 a las 00:11
  #5 (permalink)  
Antiguo 15/04/2010, 02:58
 
Fecha de Ingreso: enero-2005
Ubicación: Málaga
Mensajes: 30
Antigüedad: 19 años, 3 meses
Puntos: 1
Respuesta: Cerrar ventana modal y recargar automaticamente la ventana padre

Porras !!!! he visto la luz !!!!

Mira que me lo has puesto facil macho ... esta claro que cuando se cierra la ventana se ejecuta el resto de la funcion y por lo tanto aparece el alert que me has puesto .....

muchas gracias ...

Cita:
Iniciado por posman Ver Mensaje
Es tan simple como poner la instruccion para actualizar la pagina despues de hacer el showModalDialog. Cuando abres la ventana modal todo el control se pasa a esa ventana y el padre deja de hacer todo lo que esta haciendo. El padre continua una vez que la ventana hija se cerro.

Código html:
Ver original
  1. function abrir() {
  2.   window.showModalDialog(...);
  3.   alert("La ventana hija se ha cerrado");
  4.   <div onclick="abrir()">...</div>
  5. </body>

Última edición por fmorales; 15/04/2010 a las 08:26
  #6 (permalink)  
Antiguo 15/12/2011, 07:21
 
Fecha de Ingreso: diciembre-2011
Mensajes: 1
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Cerrar ventana modal y recargar automaticamente la ventana padre

aver si me pueden ayudar con esto, cree una ventana modal en shadowbox, desde la ventana index llame una ventana modal la cual tiene un php para ingresar un usuario y contraseña, pero al ingresar los datos muestra la ventana donde entra dentro de la ventana modal, lo que quiero es que al colocar usuario y contraseña y darle ingresar me lleve a la ventana que quiero pero en la ventana padre, aqui coloco los codigos


Este es el php que abre dentro de la ventana modal:

<?php
error_reporting(0);
session_start();

$Usuario = $_SESSION['Nom_Usuario'];


if (empty ($Usuario)){


}else{

include ("redireccionar.php");

}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Sabueso OnLine</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
a:hover{
text-decoration:none;
color: #000066;
}
a{text-decoration:none;}
.Estilo1 { font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
a:link {
color: #0066CC;
}
a:visited {
color: #0099FF;
}
.Estilo2 {color: #666666}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.Estilo4 {
font-size: 12px;
color: #666666;
font-family: Arial, Helvetica, sans-serif;
}
.Estilo5 {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
color: #FFFFFF;
}
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
.Estilo6 { font-size: 10px;
font-weight: bold;
}
-->
</style>
<form method="POST" action="productos.php"><div align="center">
<TABLE width="300" height="96" BORDER = '0'>
<tr><TD rowspan="2">&nbsp;</td>
<TD height="32"><strong> Usuario:</strong></td>
<td> <input name="text1" type="text" size="30" maxlength="45" value=<?php echo $Usuario; ?>></td>
<TR>

<TD height="24"><strong>Contrase&ntilde;a:</strong></td>
<td align="left"> <input name="text2" type="password" size="30" maxlength="15" value=<?php echo $Clave;?>> </td>
</TR>
<TR>
<tr><TD height="26" rowspan="2" >&nbsp;</td>
<TD><strong>Tipo de Usuario:</strong></td>
<TD>
<div align="left">
<select name="text8">
<option value=" "> </option>
<option value="Administrador">Administrador</option>
<option value="Cliente">Cliente</option>
<option value="Vendedor">Vendedor</option>
</select>

</div></TD>
</TR>
</Table>
</Font></div>

<?php

?>
<TABLE BORDER = '0' align="Center" width="300">
<center>

<TD><div align="right">
<input name="boton1" type="Image" value="Accesar" src="imagenes/accesar.png" width="29" height="28" />
</div></TD>

</center>
</Table>
</form>


Este es el index.php


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<link href='shadowbox.css' rel='stylesheet' type='text/css'/>
<script src='shadowbox.js' type='text/javascript'/>
<script type='text/javascript'>
Shadowbox.init({
overlayColor: "#000",
overlayOpacity: &quot;0.6&quot;,
});
</script>

<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.Estilo1 {font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
.Estilo2 {color: #666666}
.Estilo4 { font-size: 12px;
color: #666666;
font-family: Arial, Helvetica, sans-serif;
}
.Estilo7 {
font-size: 10px;
font-weight: bold;
color: #000033;
}
body,td,th {
font-family: Arial, Helvetica, sans-serif;
color: #000066;
}
a:link {
color: #000066;
}
a:visited {
color: #333333;
}
-->
</style><head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<script type='text/javascript'>
// <![CDATA[
Shadowbox.init({
language: "es",
players: ['html']
});
function AlertMessage()
{
Shadowbox.open({
player: 'html',
content: 'Código HTML de lo que se mostrará',
height: 178, // Alto de la ventana modal
width: 438 // Ancho de la ventana modal
});
}

// ]]>
</script>
</b:if>
</head>

<body>
<table width="100%" height="180">
<tr>
<td height="17" bgcolor="#D3D3D3"><table width="100%" border="0">
<tr>
<td align="left"><span class="Estilo7">Hoy es</span><font size="1" >
<?php

setlocale(LC_TIME, 'spanish');

print "<strong style='color: #000066;'>".strftime(" %A %#d de %B del %Y")."";

?>
</font></td>
<td align="right"><font face='arial narrow' size="2">
<label></label>
</font>
<div align="right"> <font face='arial narrow' size="1">
<label><?php echo $Usuario; ?></label>
</font> <font size="1" >
<?php
if (empty ($Usuario)) {
} else {
echo '<a href=cerrarcesion.php>Cerrar Cesion</a>';
}
?>
</font> </div></td>
</tr>
</table></td>
</tr>
<tr>
<td height="168" align="center" background="imagenes/index_r2_c1.jpg"><table width="75%" height="141" border="0">
<tr>
<td width="24%" rowspan="3" valign="middle"><div align="center"><img src="imagenes/logo.png" width="271" height="142" /></div></td>
<td width="76%" height="88" align="right" valign="top">&nbsp;</td>
</tr>
<tr>
<td height="17" align="right" valign="bottom"><span class="Estilo4"></span></td>
</tr>
<tr>
<td height="23" align="left"><table width="100%" border="0" align="center">
<tr>
<td width="75"><div align="center"><span class="Estilo1"><a href="index.php">incio</a></span></div></td>
<td width="100"><div align="center"><span class="Estilo2"><p><a href="accesar.php" title="Mi Cuenta" class="Estilo1" rel="shadowbox;width=383;height=150">mi cuenta</a></span></div></td>
<td width="100"><div align="center"><span class="Estilo2"><p><a href="contactanos.php" title="Contáctanos" class="Estilo1" rel="shadowbox;width=500;height=370">contactanos</a></span></div></td>
<td width="50"><div align="center"><span class="Estilo2"><span class="Estilo1"><a href="foro.php">foros</a></span></span></div></td>
<td width="130"><div align="center"><span class="Estilo2"><span class="Estilo1"><a href="planes.php">nuestros planes </a></span></span></div></td>
<td width="75"><div align="center"><span class="Estilo2"><span class="Estilo1"><a href="ayuda.php">ayuda </a></span></span></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
<form method="POST" action="busqueda.php"><div align="center">
<table width="100%" border="0">
<tr>
<td width="61%"><div align="right">
<input type="text" size="40" name="text1" value="" id="text1" onKeyUp="lookup(this.value);" onBlur="fill();" />
</div></td>
<td width="39%"><div align="left">
<input name="boton2" type="image" value="buscar" src="imagenes/buscar.png" width="24" height="24" />
</div></td>
</tr>
</table>
</div>
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>

</p>
</body>
</html>


cuando yo le doy a mi cuenta el abre la ventana modal con el acceso a la cuenta, pero una ves ingresada la cuenta queda en la ventana modal, quisiera que entrara en la cuenta pero en la ventana padre.


Acotandoles que soy bastante novato en programacion y porsupuesto llevo 2 dias en esto de las ventanas modales.


Agradecido eternamente.

Etiquetas: showmodaldialog
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:15.