Цитата:
|
Цитата:
Но слишком обобщать - тоже не хорошо. При чрезмерном повышении уровня теряется гибкость. |
Цитата:
Вот функция которая перехватила форму function checkForm(){ // проверяет форму... // нет у нас никаких модулей проверки авторизации, тупо делаем все тут // нужно сделать ajax запрос... // запрос асинхронный - никто никого не ждет... // все нужно что-то вернуть - true или false... что вернуть!? // если вернуть true - форма уйдет и все проверки авторизации идет лесом // если false - то нужно потом при удачной проверке или удачном подтверждении (а это еще запросы) сделать submit этой чертовой формы } |
Смысл в том, что я перехватил клик юзера и нужно что-то решать. Но я не могу ничего решить пока не получу ответ сервера.
|
Ну так делай/не делай субмит программно по приходу ответа от сервера, когда уже будешь знать, авторизован ли пользователь.
|
<script> function send_data() { //Хорошей идеей было бы оповестить пользователя, что идет проверка авторизации. //Делаем запрос на сервер, вешаем колбек с соответствующими проверками - если пользователь авторизован, делаем document.getElementById("myform").submit(), не авторизован - выдаем ошибку, открываем окно авторизации. } </script> <form id="myform" action="data_reciever.php"> <textarea></textarea> <button onclick="send_data()">Отправить</button> </form> |
Цитата:
Но только товарищ nerv_ считает это корявой акхитектурой. Единственным условием для успешного запуска модуля проверки авторизации, является передача ему ссылки на объект, по которому кликнул юзер, будь то кнопка, ссылка, форма... неважно. Главное чтоб это был объект, у которого есть click() или submit(); Так сделано, потому что модуль как бы общий, и использовать его может любой модуль сайта. Ладно, проблема-то решена уже давно |
Erolast,
Да... если задержка более 500мс, то юзер увидит анимацию и оповещение, что скрипт чего-то там делает... надо обождать. Это тоже все уже есть |
Цитата:
И не надо никуда никаких элементов передавать. |
Цитата:
http://javascript.ru/forum/events/46...tml#post304218 Цитата:
Если ему передали DOM объект на котором произошел click, то он отменить действие и приступит к работе. В случае успешной проверки на сервере или при любых ошибках в работе, он программно совершит отмененное действие. Если юзер потерял авторизацию, то будет выведена форма авторизации. Если юзер верно введет все, то получить сообщение, типа все ОК пуляй форму. Если N-ное кол-во раз он неверно укажет логин/пароль, то скрипт отключится и перестанет перехватывать данные с формы авторизации. Ну и юзер уже физически отправится по action, указанный в форме авторизации, а там уже сервер ему что-то скажет |
Часовой пояс GMT +3, время: 16:36. |