Предупредите пользователя, когда они поразят кнопку "Назад" браузера - серьезным основанием

Я знаю, что это граничит с табу здесь, и не отвечайте с "Вами, никогда не должен делать этого", и т.д.

У меня есть очень длинная форма в мастере, и некоторые пользователи слишком привыкли к использованию спины браузера и передают кнопки, что они используют тех, которые вместо кнопок "Back" и "Next" на мастере форм. Если они поразят кнопку "Назад" браузера, то они потеряют все свои данные формы (который является болью в заднице, так как форма является такой длинной).

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

10
задан Ryan Kohn 18 November 2013 в 20:26
поделиться

2 ответа

Вы должны вернуть сообщение из события onbeforeunload, как это:

window.onbeforeunload = function() {
    return "Leaving this page will reset the wizard";
};

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

8
ответ дан 4 December 2019 в 01:55
поделиться

Вы можете использовать плагин jQuery BBQ, чтобы переписать функциональность кнопок "следующий/предыдущий" для более удобного перехода по всему этому "мастеру"

http://benalman.com/projects/jquery-bbq-plugin/

Хотя это немного сложно в настройке, посмотрите на приведенные примеры, если вам нужна такая же функциональность.

Скорее всего, вам придется рефакторить свой код, чтобы приспособить его, и это займет несколько часов.

1
ответ дан 4 December 2019 в 01:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: