2010-10-22 15 views
6

Come posso chiedere all'utente Sei sicuro di voler uscire dalla pagina?Come posso chiedere conferma a un utente Web se vuole davvero uscire dalla pagina?

Come ad esempio se si fa clic sul pulsante Indietro mentre si fa una domanda su Stackoverflow?

+0

La tua domanda non ha molto senso, vuoi dire che controlla la domanda senza premere il pulsante di invio? – Elliott

+0

Penso che intenda la finestra di conferma che si ottiene quando si è a metà della scrittura di una domanda su SO e si preme il pulsante indietro del browser –

+0

@Elliott, la domanda ha molto senso. Se c'è un testo nella casella "La tua risposta" e ti allontani dalla pagina, anche con il browser indietro, ti avviserà. –

risposta

4

Il modo più semplice per eseguire questa operazione è associare un gestore di eventi all'evento JavaScript "scarica". jQuery rende questo molto facile da fare con il suo .unload() event handler. Nel metodo che leghi puoi verificare se i campi del modulo della pagina hanno un input di testo. Supponendo che facciano scoppiare un avviso per notificare all'utente che perderanno i dati non salvati se navigano dalla pagina.

Questo metodo genera un avviso ogni volta che l'utente si allontana dalla pagina per qualsiasi motivo.

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

Ovviamente non è molto intuitivo, ma un paio di rapide modifiche possono renderlo funzionale alla tua domanda.

+0

come faremo se un utente sta modificando qualcosa? –

+2

Penso che troverete che l'evento 'download 'è troppo tardi per impedire all'utente di uscire. È necessario utilizzare l'evento 'onbeforeunload'. Inoltre, non è possibile utilizzare jquery per eseguire il collegamento a "onbeforeunload" in tutti i browser – rojoca

+0

, quindi si desidera utilizzare JavaScript puro invece jquery a causa della compatibilità del browser –

Problemi correlati