необязательное предупреждение, покидающее страницу

0

В приведенном ниже коде я предупреждаю пользователя "оставить страницу", если пользователь не нажмет кнопку отправки. Но если пользователь не заполняет формы, я могу остановить предупреждение "оставить страницу"?

Не заполняется окно формы в + кнопка отправки = нет предупреждения
Любое поле формы заполнено или пользователь хочет покинуть страницу или вернуться = показать предупреждение "оставить страницу"

var warning = true;
window.onbeforeunload = function() { 

  if (warning) { return "You have made changes on this page that you have not yet confirmed. If you navigate away from this page you will lose your unsaved changes";

}

}

$('form').submit(function() {

   window.onbeforeunload = null;

});
  • 0
    тьфу, я ненавижу, когда сайты делают это. Это верный способ заставить меня дважды подумать о возвращении
  • 0
    но да, это возможно. в вашем .submit() условие для каждого элемента формы, чтобы проверить, есть ли значение.
Теги:

1 ответ

0

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

Проверка содержимого формы, вероятно, самая быстрая, так как вам нужно будет сделать это только в том случае, если пользователь на самом деле пытается уйти, вам не нужно будет управлять кучей слушателей во всех элементах формы (и у вас есть стрельба из событий вы уже не заботитесь о том, как пользователь начал изменять).

  • 0
    Мой английский не очень хорош. Можете ли вы показать мне пример кода? Я буду вам благодарен.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню