Я знаю, что это граничит с табу здесь, и не отвечайте с "Вами, никогда не должен делать этого", и т.д.
У меня есть очень длинная форма в мастере, и некоторые пользователи слишком привыкли к использованию спины браузера и передают кнопки, что они используют тех, которые вместо кнопок "Back" и "Next" на мастере форм. Если они поразят кнопку "Назад" браузера, то они потеряют все свои данные формы (который является болью в заднице, так как форма является такой длинной).
Действительно ли возможно отобразить предупреждение, которые, когда будет иметь, "берут меня отсюда" кнопка и кнопка "отмены", поэтому если они поразят отмену, то это отменит функцию кнопки "Назад"?
Вы должны вернуть сообщение из события onbeforeunload
, как это:
window.onbeforeunload = function() {
return "Leaving this page will reset the wizard";
};
Обратите внимание, что это событие произойдет, когда пользователь покинет страницу по любой причине, даже после завершения работы мастера.
Вы должны установить флаг, когда мастер завершает работу, а не возвращать сообщение.
Вы можете использовать плагин jQuery BBQ, чтобы переписать функциональность кнопок "следующий/предыдущий" для более удобного перехода по всему этому "мастеру"
http://benalman.com/projects/jquery-bbq-plugin/
Хотя это немного сложно в настройке, посмотрите на приведенные примеры, если вам нужна такая же функциональность.
Скорее всего, вам придется рефакторить свой код, чтобы приспособить его, и это займет несколько часов.