2016-08-23 3 views
4

Может ли кто-нибудь предоставить мне настраиваемое поле оповещения, говорящее «», вы собираетесь покинуть страницу, и изменения будут отброшены «Да/нет.Предоставить пользовательское сообщение, когда пользователь покидает окно, не сохраняя данные.

Я попытался с следующий код, но его давая мне по умолчанию сообщение о том, «Изменения, внесенные не могут быть сохранены»

вот мой Javascript код

unsaved=true; 
window.onbeforeunload = function() { 
    if (unsaved) 
    { 
     var _message = "You currently have unsaved changes!!!\n\nAre you sure you want to exit without saving.\n\nChoose ‘Leave this page’ to exit without saving changes.\nChoose ‘Stay on this page’ to return to the billing profile."; 
     return _message; 
    } 
} 

Также у меня нет формы, но простую кнопку, которую я не могу включить в форму, нажав эту кнопку, и это дает мне предупреждение. Вот Fiddle, чтобы попытаться, любая помощь действительно оценили спасибо. Я знаю, что есть вопросы, заданные по этой теме раньше, но, поверьте, сейчас никто не работает. update Есть несколько способов, описанных в предыдущих примерах StackOverflow, но они не работают сейчас в современных браузерах.

+0

Что о попытке? 1. http://stackoverflow.com/questions/7317273/warn-user-before-leaving-web-page-with-unsaved-changes 2. http://stackoverflow.com/questions/11844256/alert-for-unsaved -changes-in-form 3. http://stackoverflow.com/questions/155739/detecting-unsaved-changes –

+0

Похоже, вы не можете изменить сообщение по умолчанию для этого окна (http://www.w3schools.com/jsref/ event_onbeforeunload.asp). То, что вы можете сделать, это отменить событие после его захвата и обработать его так, чтобы оно соответствовало вашему приложению, давая диалог, чтобы пользователь мог подтвердить или отменить операцию. –

+0

Я пробовал, но не работал. @Jits вы можете также скопировать этот код в моей заданной скрипке и попробовать –

ответ

0

Там в метод в JavaScript называется window.confirm(): https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm

if (window.confirm("Question")) 
    console.log('clicked OK'); 
else 
    console.log('clicked cancel'); 
+0

Я хочу вызвать этот метод, когда пользователь попытался оставить окно без сохранения данных. –

0

Попробуйте Jquery

$(window).bind('beforeunload', function(){ 
    return 'Your message here'; 
}); 

Javascript

window.onbeforeunload = function(){ 
    return 'Your message here'; 
}; 
+0

вот ваш результат, пожалуйста, попробуйте в скрипке, а затем ответьте, пожалуйста, проверьте свой код здесь, он не работает https://jsfiddle.net/stfsze4p/ –

Смежные вопросы