Question

StackOverflow lorsque vous posez une nouvelle question, vous avez saisir la question et si vous décidez de naviguer loin de la page que vous obtenez un « Êtes-vous sûr » confirmation.

Je voudrais faire la même chose dans mon application ASP.Net:

L'utilisateur doit remplir un questionnaire et a la possibilité de stocker ses réponses Temporarely. Si l'utilisateur décide de naviguer loin de la page sans enregistrer Temporarely ses réponses que nous aimerions une confirmation au popup et demander à l'utilisateur de stocker ses réponses.

Deux questions:

  • Quelle est une façon décente de montrer la fenêtre de confirmation avant que la page en décharge ASP.Net?
    Je suis au courant de l'événement beforeunload, mais je ne veux pas en faire un grand bidouille javascript.

  • Je ne veux pas la confirmation de botter lorsque l'utilisateur clique sur le bouton Enregistrer (qui sauve les réponses de toute façon)

Était-ce utile?

La solution

Vous devez écrire l'action dans

onbeforeunload événement

qui Les feux avant une page en cours de déchargement .

<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>

Autres conseils

Vous devez payer votre attention sur l'événement « de onbeforunload » En ce qui concerne le bouton Enregistrer vous ne pouvez faire une logique de script, par exemple désinscription sur cet événement ou autre.

Vous pouvez essayer ceci:

<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>

Voici les choses que vous devez noter sur onbeforeunload:

  1. onbeforeunload événement se déclenche sur tous les un (éléments d'ancrage) avec l'attribut href
  2. onbeforeunload événement se déclenche lorsque l'emplacement du document est le changement via javascript ou en changeant l'URL dans la barre d'adresse
  3. onbeforeunload événement se déclenche sur un événement qui utilise javascript: pseudo-protocole
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top