Domanda

In StackOverflow quando si sta chiedendo una nuova domanda, si dispone di inserire la domanda e se si decide di navigare lontano dalla pagina si ottiene un "Sei sicuro" di conferma.

Mi piacerebbe fare lo stesso nella mia applicazione ASP.Net:

L'utente deve compilare un questionario e ha la possibilità di memorizzare temporaneamente le sue risposte. Se l'utente decide di navigare lontano dalla pagina senza memorizzare temporaneamente le sue risposte vorremmo una conferma al popup e chiedere all'utente di memorizzare le sue risposte.

Due domande:

  • Che cosa è un modo dignitoso di mostrare il popup di conferma prima che la pagina scaricata in ASP.Net?
    Sono consapevole della manifestazione beforeunload, ma non voglio per renderlo un grande mod javascript.

  • Non voglio la conferma a calciare in quando l'utente fa clic sul pulsante Save (che sta salvando le risposte in ogni caso)

È stato utile?

Soluzione

Devi scrivere l'azione in

onbeforeunload Evento

che spara prima di una pagina di essere scaricati .

<HTML>
<head>
<script>
function closeIt()
{
  return "Any string value here forces a dialog box to \n" + 
         "appear before closing the window.";
}
window.onbeforeunload = closeIt;
</script>
</head>
<body>
  <a href="http://www.microsoft.com">Click here to navigate to 
      www.microsoft.com</a>
</body>
</html>

Altri suggerimenti

Si dovrebbe prestare la vostra attenzione su "onbeforunload" evento Per quanto riguarda il pulsante Salva si può solo fare un po 'di logica di scripting, ad esempio annullare l'iscrizione a questo evento o altro.

Si può provare questo:

<button onclick="javascript:doSend()">send</button>
<button onclick="window.xbuttons +='save ';">save</button>
<button onclick="window.xbuttons +='edit';">edit</button>
<script>
   window.xbuttons = '';
   window.onbeforeunload = function(){
      if(!window.xbuttons.match(/save|edit/))
         return "Do you want to leave this page?";
   }
</script>

Qui ci sono le cose che si dovrebbero notare su onbeforeunload:

  1. onbeforeunload evento sarà il fuoco su ogni A (elementi di ancoraggio) con attributo href
  2. onbeforeunload evento viene generato quando la posizione del documento è il cambiamento tramite JavaScript o modificando l'url nella barra degli indirizzi
  3. onbeforeunload evento sarà il fuoco su qualsiasi evento che utilizza javascript: pseudo-protocollo
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top