Как сделать чтобы нельзя было уйти со страницы не отправив форму?

Клиент во чтобы то ни стало хочет чтобы на его сайте клиенты заполнив заявку не могли покинуть страницу, не нажав кнопку "отправить". Хотя я, конечно, сложно себе представляю как, например, может быть это реализовано. Ведь вряд ли что-то может заблокировать закрытие вкладки в браузере. Я уж молчу про тупо закрытие браузере.
Но все-таки может существуют какие-то решения на эту тему?
  • Вопрос задан
  • 3123 просмотра
Решения вопроса 1
однозначно дурной тон и в бизнесе, и в дизайне
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 8
Trow_eu
@Trow_eu
заблокировать можно, но так делают вирусы. объясняйте, что нельзя.
Ответ написан
Комментировать
@tushev
Если только воспользоваться какой нибудь дыркой браузера, как это делают некоторые псевдоблокировщики компьютера. По хитрому вешают обработчики на закрытие окна и не дают покинуть страницу. Но эти дырки быстро закрывают разработчики браузеров. Надо заказчику объяснить что такое деяние на грани законности.

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

Повесить alert "Если вы покините эту страницу без отправки данных, ваша заявка не будет отправлена нам. Вы действительно хотите уйти со страницы?"

И два варианта ответа "Да", "Нет"
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Просто повесьте отправку формы, если она ещё не отправлена, на событие закрытия страницы. Но вообще это моветон.
Ответ написан
Комментировать
@Akellacom
CTO
Грех такое делать!
Ответ написан
Комментировать
sabramovskikh
@sabramovskikh
Дать с виртухи в ухо такому клиенту будет самое гуманное решение
Ответ написан
Комментировать
mlnkv
@mlnkv
JavaScript Developer
Ответ написан
Комментировать
VovanR
@VovanR
Фронт-энд Вэб-разработчик
Дурной тон, но, например такие штуки, как JSFiddle и CodePen делают так, чтобы ты не забыл сохранить.
window.onbeforeunloadWindowEventHandlers.onbeforeunload
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы