Окно «Подтвердить навигацию» - PullRequest
2 голосов
/ 24 февраля 2012

Я ищу функцию, которая отображает окно с предупреждением, когда посетитель пытается покинуть страницу, когда он или она еще не завершили форму.Я импортировал изображение, чтобы показать, что я имею в виду.Перевод: title = "Подтвердить навигацию", content = "Вы хотите покинуть эту страницу?", Button1 = "Покинуть эту страницу", button2 = "Оставаться на этой странице".

Facebook использует это окно предупреждения, когдаВы хотите вернуться на одну страницу, когда вы, например, не завершили PM кому-то.

enter image description here

Как я могу сделать что-то подобное?

Спасибо ввперед.

1 Ответ

4 голосов
/ 24 февраля 2012

Используйте window.onbeforeunload в сочетании с флагом, который устанавливается при изменении поля формы.

Например:

var changed_flag = 0; // change in an onchange event or whatever, something like the below

document.getElementById('form_field').onchange = function() {
  changed_flag = 1;
};

window.onbeforeunload = function() {
  if ( changed_flag ) {
    return 'You have unsubmitted changes.'
  }
};
...