Статьи о WordPress

Блокировка многократного нажатия кнопки «Отправить» в Contact Form 7

Для чего нужна блокировка многократного нажатия кнопки «Отправить»:

  1. Этой уязвимостью могут воспользоваться ваши конкуренты, чтобы отправить несколько заявок в рамках отправки одной заявки, тем самым слить ваш рекламный бюджет, если настроена стратегия «за конверсии с сайта». Почему так? Потому что время отправки формы может достигать 2-3 секунд и за это время ваш конкурент сможет нажать на кнопку отправки очень много раз и вы получите много фейковых заявок;
  2. Чтобы избежать многократной отправки уведомлений на почту в случае успешной отправки формы по если пользователь сайта нетерпеливый и тыкает много раз на кнопку.

Как же это реализовать?

Берем специальный 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. Для того, чтобы заблокировать многократный клик кнопки «Отправить» в форме выводимой этим плагином вы можете воспользоваться другой нашей статьёй.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *