![]() ![]() | |
taxpert.ru — Блог — Блокировка кнопки формы после нажатияБлокировка кнопки формы после нажатия19.07.2022 Секция: Сайтостроение и WEB-разработка Просмотров: 161 Комментариев нет — ваш комментарий может стать первым Очередная каверзная задачка подоспела на днях: заблокировать пользователю возможность повторного нажатия кнопки отправки данных из формы. Чтобы не отправил одни и те же данные трижды или четырежды. На первый взгляд, ничего сложного: JavaScript, JQuery, волшебный «disabled» на кнопку – и дело в шляпе. Да не тут-то было. Пробуем вешать обработку на клик кнопки – не отправляются данные из формы (правильно, ведь первым делом запускается обработка, а она блокирует кнопку). Пробуем вешать на submit формы – начинается некая необъяснимая большая лажа с блокировкой последующего редиректа обратно на страницу. Ах да, можно же принудительно засабмитить из Ява-скрипта? Не-а: файл слишком большой, превышен размер памяти – серверный вариант отправки с такими размерами даже не почешется, а вот Ява-скриптовому уже не по зубам. А всего-то навсего следовало сразу же задуматься: ну и каков смысл упираться в вышеупомянутый волшебный «disabled»? Стоило задуматься над этим вопросом, и простое, эффективное решение пришло мгновенно: пользователь нажимает кнопку отправки данных из формы – с помощью JQuery (а куда же без него!) ловим «submit» формы, прячем кнопку отправки (банально «display=none» – и нажать кнопку ещё раз уже не получится), на её месте показываем самый простой, обычный span с текстом «ждите, идёт загрузка». Без никаких «disabled». Всё. Категорично, скромно и со вкусом. Комментариидобавить комментарийкомментариев не найдено — ваш может стать первым! | |
© Taxpert. Интернет-мастерская М. Ю. Уткина. | |