templates/fragments/recaptcha.html.twig line 1

Open in your IDE?
  1. {# templates/fragments/recaptcha.html.twig #}
  2. {# recaptcha_enabled: true para mostrar el widget 
  3.    recaptcha_key: clave de la aplicación
  4. #}
  5. {% if recaptcha_enabled == true %}
  6. <section class="text-center mb-1">
  7.     <div id="recaptcha" class="g-recaptcha d-inline-block" data-callback="recaptcha_onCheck" data-expired-callback="recaptcha_onExpire" data-sitekey="{{ recaptcha_key }}"></div>
  8.     <script>
  9.         $m.reCAPTCHA = {
  10.             widget: undefined,
  11.             submitBtn: undefined,
  12.         };
  13.         function recaptcha_onCheck() {
  14.             const btn = $m.reCAPTCHA.submitBtn;
  15.             btn.disabled = false;
  16.             btn.recaptchaDisabled = false;
  17.         }
  18.         function recaptcha_onExpire() {
  19.             const btn = $m.reCAPTCHA.submitBtn;
  20.             if (! btn.disabled)
  21.                 btn.disabled = true;
  22.             btn.recaptchaDisabled = true;
  23.         }
  24.         (function() {
  25.             'use strict';
  26.             window.addEventListener('load', function() {
  27.                 $m.reCAPTCHA.widget = document.querySelector('#recaptcha');
  28.                 $m.reCAPTCHA.submitBtn = $m.reCAPTCHA.widget.closest('form').querySelector('button[type="submit"]');
  29.                 $m.reCAPTCHA.submitBtn.disabled = true;
  30.             });
  31.         })();
  32.     </script>
  33. </section>
  34. {% endif %}