Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/05/2012, 13:01
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Problema con OnBeforeUnload

La idea es advertir al usuario si inició una acción, como el ingreso de datos en un form, he intenta abandonar la página sin haberlos procesados, si no no pasa de ser un mensaje molesto. Por lo que habría que crear una condición, este ejemplo a lo mejor te oriente para buscar una solución

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.  
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. var datosSinProcesar ;
  10. window.onbeforeunload = Salir;  
  11. function Salir(){    
  12. if (datosSinProcesar == 1) {
  13. return "Si has hecho algun cambio sin guardar se perderan todos los datos.";  
  14. }
  15. }
  16.  
  17. function deja_var(a){
  18. if(a == 'si'){
  19. datosSinProcesar = 1;
  20. }else{
  21. datosSinProcesar = 0;
  22. }
  23. }
  24. //]]>
  25. </head>
  26. <form action="#" onsubmit="return deja_var('no');">
  27. <input type="text" onkeypress="deja_var('si');" value="" />
  28. <input type="submit" />
  29. </form>
  30. </body>
  31. </html>

Puede mejorarse controlando los valores de los campos. Pero basicamente la idea sería esa. Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.