Foros del Web » Programando para Internet » Javascript »

Problema con Evento onUnload

Estas en el tema de Problema con Evento onUnload en el foro de Javascript en Foros del Web. Muy buenas, Estoy haciendo una página en php con una cabecera comun para todas ellas, ya que en ella va un menu... bueno, el caso ...
  #1 (permalink)  
Antiguo 18/09/2008, 01:53
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Problema con Evento onUnload

Muy buenas,

Estoy haciendo una página en php con una cabecera comun para todas ellas, ya que en ella va un menu... bueno, el caso es que lo que quiero hacer es que cuando el usuario pulse la opción "Salir" le aparezca un mensaje de advertencia, para que confirme si quiere realmente salir de la aplicación.

Mi código es el siguiente:

<head>
<script>
function confirmarSalida()
{
if (confirm("¿Desea salir de la aplicacion?")!=true)
{
document.nocierre.submit();
}
}
</script>
</head>

<body onUnload="javascript:confirmarSalida();">

<form name="nocierre" action="<?=$_SERVER['PHP_SELF']?>" method="post" target="_blank">
</form>


De esta forma, intento que si el usuario, en el mensaje de Advertencia, pulsa el botón "Cancelar", la página se vuelva a invocar a sí misma y se abra... si pulsa "Aceptar", que se cierre sin más.

El problema que estoy encontrando es que cada vez que se intenta navegar entre páginas, me aparece el mensaje de advertencia... pero yo solo quiero controlar el cierre de la ventana... alguien sabe cómo?

Muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 18/09/2008, 02:53
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Problema con Evento onUnload

¿no debería llamar a la función javascript cuando se pulse en "Salir" en lugar de en el evento onUnload?
  #3 (permalink)  
Antiguo 18/09/2008, 03:19
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Problema con Evento onUnload

y como controlo ese evento???
  #4 (permalink)  
Antiguo 18/09/2008, 03:56
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Problema con Evento onUnload

<a href="javascript:confirmarSalida()">Salir</a> si es un enlace
o mediante el evento "onClick" si se trata de un botón
  #5 (permalink)  
Antiguo 18/09/2008, 04:21
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema con Evento onUnload

mira, yo estoy haciendo algo parecido a lo tuyo y tengo problemas con el metodo submit() de form, ahorita lo posteo a ver si alguien me explica, pero bueno, al final me fui por una via alternativa aprovechando php:

quieres que al pulsar un boton se salga de la pagina no? bien, no soy muy partidario de una ventana confirm, yo en tu caso pusiera un formulario con dos botones: aceptar y cancelar, y algo de informacion como: realmente desea salir? o algo asi y lo envuelvo con un <div /> y entonces mi boton: salir, realmente lo que me controlaria por medio del DOM y CSS la visibilidad de mi <div>
(esto es rapido porque tengo que trabajar)

seria algo parecido a esto:
Código HTML:
<script ...>
function confirmExit(){
  var oDiv = document.getElementById("confirm_exit");
  
  oDiv.style.display = (oDiv.style.display == "none")?"block":"none";
}
</script>

<a href="#" onclick="confirmExit()">Salir</a>

<div id="confirm_exit">
<form action="script_php.php" method="post" ...>
  Realmente desea salir de la aplicacion??
  
  <input type="submit" name="submit_exit" value="aceptar" />
  <input type="submit" name="submit_exit" onclick="confirmExit()" value="cancelar" />

</form>
</div>

......y luego en el script_php

<?php
  if(isset($_POST['submit_exit'])){

if($_POST['submit_exit']=='cancelar')

  header("Location: http://localhost:8080/");

else{
//aqui puedes hacer lo que quieras, dejar la pagina en blanco, mostrar una //seccion alternativa para cuando no se este dentro de la aplicacion o yo que se //:P
}
}
?> 
como te dije esto fue rapido, existen mejores formas y lo anterior puede tener algun fallo, no obstante lo que quiero que mires es como puedes combinar php y javascript para lograr el comportamiento que quieres que tenga tu aplicacion

;)
  #6 (permalink)  
Antiguo 18/09/2008, 04:23
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Problema con Evento onUnload

Si, pero lo que querria controlar es cuando el usuario pulsa el botón "X" de la ventana....
  #7 (permalink)  
Antiguo 18/09/2008, 04:24
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema con Evento onUnload

por cierto, se me olvido poner el atributo style en div, quedaria asi:

<div id="confirm_exit" style="display: none"></div>
  #8 (permalink)  
Antiguo 18/09/2008, 04:29
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema con Evento onUnload

en la ventana del navegador???, pues no se viejo, tu decides, pero a mi no me gustaria por ejemplo, que cada vez que fuera salir de mi buzon de gmail al cerrar firefox, gmail me pusiera: Desea realmente salir??? eso me tocaria bastante los huevos, yo lo pondria dentro de la pagina y ya esta, si el usuario cierra el navegador es porque esta claro que quiere irse, si esto es lo que quieres lograr, no obstante ya te dije, tu decides, al final eres el que sabe que es mejor o no para tu aplicacion

saludos ;)
  #9 (permalink)  
Antiguo 18/09/2008, 04:33
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Problema con Evento onUnload

yo creo que eso no se puede, sino, imagínate, si se pudiese controlar eso, habría páginas que no se pudiesen cerrar (publicidad, etc)
  #10 (permalink)  
Antiguo 18/09/2008, 04:35
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Problema con Evento onUnload

Yo tambien opino como tu: si quieres salir, quieres salir... y me toca las narices los mensajes emergentes... pero el que va a manejar la página me lo ha pedido explicitamente, por si le dan al boton "por equivocacion"...

sabeis como se puede controlar el cierre del navegador?
  #11 (permalink)  
Antiguo 18/09/2008, 04:36
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Problema con Evento onUnload

Eso es cierto, GabrielAlmagro... y deshabilitar el boton, tampoco se puede?
  #12 (permalink)  
Antiguo 18/09/2008, 04:38
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Problema con Evento onUnload

es lo que te he dicho, no puedes impedir a nadie que cierre la página
  #13 (permalink)  
Antiguo 18/09/2008, 04:45
 
Fecha de Ingreso: abril-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Problema con Evento onUnload

Ok... muchas gracias... tendre que decirselo entonces.... y que aprenda a manejar el raton
  #14 (permalink)  
Antiguo 18/09/2008, 05:02
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema con Evento onUnload

joe verdad, imaginate que pasara si una pagina no me dejase cerrar el navegador????:O
se me fue la catalina ahi jeje
pues muerto el perro se acabo la rabia, el tio ese que se ubique en que quiere, si una aplicacion web o una de escritorio ;)
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 12:31.