Попросите подтвердить на странице Unload
-
20-09-2019 - |
Вопрос
На Stackoverflow, когда вы задаете новый вопрос, вы введите вопрос, и если вы решите уйти от страницы, вы получите подтверждение «вы уверены».
Я хотел бы сделать то же самое в моем приложении ASP.NET:
Пользователь должен заполнить анкету и иметь возможность временно хранить свои ответы. Если пользователь решит уйти от страницы, не временно сохраняя его ответы, мы хотели бы подтвердить всплывающее окно и попросить пользователя хранить его ответы.
Два вопроса:
Какой приличный способ показать всплывающее окно подтверждения, прежде чем страница разгружается в ASP.NET?
Я знаю о событии Thenunlload, но я не хочу делать это один большой взлом JavaScript.Я не хочу, чтобы подтверждение началось, когда пользователь нажимает кнопку «Сохранить» (которая в любом случае сохраняет ответы)
Решение
Вы должны написать действие в
который Пожары до разгрузки страницы.
<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>
Другие советы
Вы должны обратить внимание на Событие "OnbeforUrulload" Что касается кнопки «Сохранить», вы можете сделать некоторую логику сценариев, например, отписаться на это событие или еще.
Вы можете попробовать это:
<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>
Вот вещи, которые вы должны отметить, о RforeUunload:
- OnbeForeUnload Событие будет стрелять по каждому (якорным элементам) с атрибутом href
- OnbeForeUnload Событие будет снимать, когда местоположение документа будет изменено через JavaScript или путем изменения URL -адреса в адресной строке
- OnbeForeUnload Событие будет запускать на любое событие, которое использует JavaScript: псевдопротокол