Поиск по сайту:
taxor.ruБлог — Блокировка кнопки формы после нажатия

Блокировка кнопки формы после нажатия

Секция: Сайтостроение и WEB-разработка

Просмотров: 28

Комментариев нет — ваш комментарий может стать первым

Очередная каверзная задачка подоспела на днях: заблокировать пользователю возможность повторного нажатия кнопки отправки данных из формы. Чтобы не отправил одни и те же данные трижды или четырежды.

На первый взгляд, ничего сложного: JavaScript, JQuery, волшебный «disabled» на кнопку – и дело в шляпе.

Да не тут-то было. Пробуем вешать обработку на клик кнопки – не отправляются данные из формы (правильно, ведь первым делом запускается обработка, а она блокирует кнопку). Пробуем вешать на submit формы – начинается некая необъяснимая большая лажа с блокировкой последующего редиректа обратно на страницу. Ах да, можно же принудительно засабмитить из Ява-скрипта? Не-а: файл слишком большой, превышен размер памяти – серверный вариант отправки с такими размерами даже не почешется, а вот Ява-скриптовому уже не по зубам.

А всего-то навсего следовало сразу же задуматься: ну и каков смысл упираться в вышеупомянутый волшебный «disabled»?

Стоило задуматься над этим вопросом, и простое, эффективное решение пришло мгновенно: пользователь нажимает кнопку отправки данных из формы – с помощью JQuery (а куда же без него!) ловим «submit» формы, прячем кнопку отправки (банально «display=none»  и нажать кнопку ещё раз уже не получится), на её месте показываем самый простой, обычный span с текстом «ждите, идёт загрузка». Без никаких «disabled». Всё. Категорично, скромно и со вкусом.

Комментарии

добавить комментарий

комментариев не найдено — ваш может стать первым!


© «Таксор». Интернет-мастерская М. Ю. Уткина.