1. Hawkmoth - 26 Марта, 2012 - 22:14:58 - перейти к сообщению
Господа гуру, помогите пожалуйста вот с такой проблемой. Есть форма регистрации с Submit'ом внизу. После нажатия на сабмит данные через аякс улетают на сервер, где обрабатываются скриптом и, если были найдены ошибки - пользователю изящно сообщается об этом через тот же аякс. Если ошибок нет - скрипт выполняется до конца, включая отправку e-maila и редирект на страницу с подтверждением. Проблема в том, что в случае успешного выполнения браузер думает где-то секунд 5-6, а за это время нетерпеливый пользователь умудряется n раз нажать на кнопку с подтверждением, что приводит к понятным вещам. Как запретить пользователю больше одного раза нажимать на 'submit', но при этом чтобы в случае найденных ошибок сабмит становился активным вновь?
2. LIME - 26 Марта, 2012 - 22:22:23 - перейти к сообщению
если уж такой медленый обработчик то можно по нажатию до отправки запроса делать кнопку дисаблед
и потом снова разрешать по приходу ответа
подумайте над тем что вместо аjax использовать перезагрузку
если медленый обработчик нафига такой ajax )))
и потом снова разрешать по приходу ответа
подумайте над тем что вместо аjax использовать перезагрузку
если медленый обработчик нафига такой ajax )))
3. Hawkmoth - 26 Марта, 2012 - 22:30:15 - перейти к сообщению
Дело в том, что аякс отлично работает в плане предупреждения ошибок - включая проверки на наличие недопустимых символов, совпадение с уже имеющимися в базе логинами и е-майлами и т.п. Пользователю мгновенно выводится соответствующее сообщение.
Но вот если ошибок нет, возникает задержка. И хотелось бы, чтобы во время этой задержки пользователь не мог лишний раз кликнуть на сабмит.
Логика такая - после клика на сабмит кнопка 'disabled', скрипт обработал, и если вернул 'ошибку', снова 'enabled'.
Но вот если ошибок нет, возникает задержка. И хотелось бы, чтобы во время этой задержки пользователь не мог лишний раз кликнуть на сабмит.
Логика такая - после клика на сабмит кнопка 'disabled', скрипт обработал, и если вернул 'ошибку', снова 'enabled'.
4. LIME - 26 Марта, 2012 - 22:44:07 - перейти к сообщению
jquery?
5. Hawkmoth - 26 Марта, 2012 - 22:53:06 - перейти к сообщению
LIME пишет:
jquery?
Ага.
В общем, сделал тривиально, но как раз то, что хотел:
После нажатия на сабмит в js-функции отправки данных на сервер написал
а в функции принятия ошибок от сервера, соответственно:
Всё работает как надо.