Спасаем пользователей от случайного сброса формы

1k
Алексей,
Спасаем пользователей от случайного сброса формы
Спасаем пользователей от случайного сброса формы

Бывает заполняешь большую форму или пишешь сообщение в блог, а потом бац и случайно вкладку закрыл/нажал ф5/браузер закрыл. И приходится заново заполнять, бесит.
Есть простое js решение, которое работает во всех современных браузерах (проверил на десктопе).

Бывает заполняешь большую форму или пишешь сообщение в блог, а потом бац и случайно вкладку закрыл/нажал ф5/браузер закрыл. И приходится заново заполнять, бесит. Есть простое js решение, которое работает во всех современных браузерах (проверил на десктопе).

Мы вешаем функцию на событие закрытия страницы, в которой проверяется была ли изменена форма. При изменении данных в форме, параметр изменится и скрипт не даст выйти со страницы не сохранив данные.
Спасаем пользователей от случайного сброса формы

Необходимый js скрипт:

(function($) {
	window.onbeforeunload = confirmExit;

	function confirmExit(){
		var ch = $('#form').data('change');
		if (ch == 'Y') {
	   		return "Возможно Вы не сохранили данные формы.";
		}
	}

	$(document).ready(function () {
		$('#form').on('change', 'input, select, textarea', function(){
			$(this).closest('form').data('change', 'Y');

		});
		$('#form').on('click', 'input[type="submit"]', function(){
			$(this).closest('form').data('change', 'N');
		});
	});
})(jQuery);

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 16 марта 2016 | Обновлено 10 февраля 2017
разработчику, юзабилити
Поделиться
Похожие статьи
Как сделать ИМ дружелюбнее. E-mail уведомления
Наверно это касается всех интернет-магазинов на 1С-Битрикс. Делаешь заказ и понеслось: заказ оформле...
Читать дальше » 0
Алексей,
Получаем адрес посетителя
От браузера или по IP с помощью Yandex Map API для автозаполнения в формах
Читать дальше » 0
Алексей,
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Бывает заполняешь большую форму или пишешь сообщение в блог, а потом бац и случайно вкладку закрыл/нажал ф5/браузер закрыл. И приходится заново заполнять, бесит. Есть простое js решение, которое работает во всех современных браузерах (проверил на десктопе).