|
Не позволить уйти со страницы не заполнив поле.
Доброго времени суток, уважаемые.
JS я знаю не плохо и по професии я программист. Разжевывать ничего не прошу. Проблема такая: Есть страничка настроек и нужно не позволить юзеру уйти с нее пока он не введет валидный email. Проверка на валидность не проблема. Проблема в том что на страничке много линков, на стороне сервера она собирается из хэдэра-меню-контента-футера (т.е. есть куски разметки которые используются др. страницами) и проект уже на стадии дебага. Все это делает прикрепление функции проверки к каждому линку не возможным. Есть ли в JS событие ухода со странички на которое я мог бы повесить функцию которая проверит валидность email и если что, не отпустит юзера? И опять же, как юзера не отпустить? Вернуть false из функции привязанной к этому событию? |
То есть вы хотите чтобы юзер просто не могу закрыть вашу страничку пока не введет свой мэил?
|
Можно попробовать следить за координатами курсора. И когда он уходит выше самой страницы, т.е. юзер танется к кнопочке "X", делать confirm это заставит его немного изменить свои планы
|
Вы видно забыли про ctrl+alt+delete. И после этого он 100% на ваш сайт не зайдёт
|
В новой Opera 10.50 диалоговые окна вообще не препятствуют переключению и закрытию вкладок, в некоторых браузерах есть галочка для предотвращения последующего появления диалогов.
Событие unload остановить нельзя: Цитата:
так что затея не удастся, разработчики стараются защитить пользователей от таких вот гениальных идей программистов. |
Если очень приперло, то можно пройтись по всем ссылкам в документе и понавешивать на них дополнительные обработчики клика, там делать проверку и если надо, останавливать переход по ссылке.
А вообще, конечно, это бред полнейший. Нельзя заставлять юзера что-то делать, если он этого не хочет. |
Цитата:
|
onbeforeunload
|
Речь идет не о "мега-ресурсе", и не о архиве порнухи, как вы наверное могли подумать :) Речь о многопользовательской системе управления контентом на базе облачных вычислений. Закрытие окна браузера (а уж темболее снятие процесса) вобщем то не рассматривается, нужна просто минимальная защита на дурака. Важно не дать пользователю уйти на другую страницу админки не заполнив поле email (ибо иначе теряется возможность восстановления пароля).
2 B@rmaley.e><e : Да, это наверное именно то что мне нужно, как дойду до решения этой проблемы - копну глубже, спасибо вам. |
Я не понимаю зачем это вообще. Есть две ситуации когда нужно менять значение e-mail'а:
1. Когда юзер регается 2. При смене е-mail'а на новый При этом нужно просто проверять валидность почты. Можно не только валидность но и существование. Плюс использовать код подтверждения почты, высылая его на указанный адрес при смене и регистрации. К этому уже все привыкли. Зачем придумывать какую то ерунду. А если JS в браузере выключен, то что делать? |
Часовой пояс GMT +3, время: 09:25. |
|