2010-10-22 7 views
6

¿Cómo puedo preguntarle al usuario ¿Estás seguro de que quieres abandonar la página?¿Cómo puedo pedir confirmación a un usuario de la web si realmente quiere abandonar la página?

¿Le gusta, por ejemplo, si hace clic en el botón Atrás mientras hace una pregunta sobre Stackoverflow?

+0

Su pregunta no tiene mucho sentido, ¿quiere decir que verifica la pregunta sin presionar el botón de enviar? – Elliott

+0

Creo que se refiere al diálogo de confirmación que recibes cuando estás a la mitad de escribir una pregunta en SO y presionar el botón –

+0

@Elliott, la pregunta tiene mucho sentido. Si hay texto en el cuadro "Su respuesta" y se aleja de la página, incluso con el buscador de nuevo, se le avisará. –

Respuesta

4

La manera más fácil de hacerlo es vincular un controlador de eventos con el evento de "descarga" de JavaScript. jQuery hace que esto sea muy fácil de hacer con su .unload() event handler. En el método que vincula, puede verificar si alguno de los campos de formulario de la página tiene entrada de texto. Suponiendo que muestren una alerta notificando al usuario, perderán los datos no guardados si navegan desde la página.

Este método generará una alerta cada vez que el usuario navegue fuera de la página por algún motivo.

$(window).bind('beforeunload', function() { 
    alert('Handler for .beforeunload() called.'); 
}); 

Eso obviamente no es muy fácil de usar pero un par de modificaciones rápidas pueden hacer que su pregunta sea viable.

+0

cómo lo haremos si un usuario está editando algo? –

+2

Creo que encontrará que el evento 'download' es demasiado tarde para evitar que el usuario se vaya. Necesita usar el evento 'onbeforeunload'. Además, no puede usar jquery para enlazar a 'onbeforeunload' en todos los navegadores – rojoca

+0

, por lo que quiere decir usar JavaScript puro en lugar de jquery debido a la compatibilidad del navegador –

Cuestiones relacionadas