Блокировка многократного нажатия кнопки «Отправить» в Contact Form 7
Для чего нужна блокировка многократного нажатия кнопки «Отправить»:
- Этой уязвимостью могут воспользоваться ваши конкуренты, чтобы отправить несколько заявок в рамках отправки одной заявки, тем самым слить ваш рекламный бюджет, если настроена стратегия «за конверсии с сайта». Почему так? Потому что время отправки формы может достигать 2-3 секунд и за это время ваш конкурент сможет нажать на кнопку отправки очень много раз и вы получите много фейковых заявок;
- Чтобы избежать многократной отправки уведомлений на почту в случае успешной отправки формы по если пользователь сайта нетерпеливый и тыкает много раз на кнопку.
Как же это реализовать?
Берем специальный JavaScript-код и вставляем его в тег <head></head> или перед закрывающим тегом </body>. Теперь после однократного нажатия кнопка будет неактивной до момента отправки формы.
<script type="text/javascript"> jQuery('.wpcf7-form').submit(function () { jQuery(this).find(':input[type=submit]').prop('disabled', true); var wpcf7Elm = document.querySelector('.wpcf7'); wpcf7Elm.addEventListener('wpcf7submit', function (event) { jQuery('.wpcf7-submit').prop("disabled", false); }, false); wpcf7Elm.addEventListener('wpcf7invalid', function () { jQuery('.wpcf7-submit').prop("disabled", false); }, false); }); </script> |
Обращаем ваше внимание, что данный способ может не работать если ваша форма открывается через технологию AJAX, как например в плагине Art WooCommerce Order One Click. Для того, чтобы заблокировать многократный клик кнопки «Отправить» в форме выводимой этим плагином вы можете воспользоваться другой нашей статьёй.


