Modx revo google recaptcha v2

Сквозной скрипт и обработчик

Обратить внимание на ?onload=onloadCallback , где onloadCallback - js функция для инита всех каптч на странице, а &render=explicit - для работы нескольких каптч на странице

развернуть

    
˂script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=ru" async defer>˂/script> 

//универсальный рендеринг для класса captcha-item

˂script type="text/javascript"˃
var onloadCallback = function() {
  var siteKey = '[[++recaptchav2.site_key]]';
  $('.captcha-item').each(function(index) {
    grecaptcha.render($(this).attr('id'), {
      'sitekey' : siteKey
    });
  });
};
˂/script˃
    

Вызов формы стандартный:

развернуть

        
 [[!AjaxForm?
        &snippet=`FormIt`
        &form=`chunk_form`
        &hooks=`recaptchav2,email`
        &validate=`g-recaptcha-response:required, ---`
]]
        
    

В самой форме ( для каждой на странице ):

развернуть

        
[[$contacts_page_captcha]]
        
        
        
˂div class="captcha-item" id="captcha_callback" style="min-height: 115px;position: relative;"˃˂/div˃

˂script type="text/javascript"˃
$('#captcha_callback').attr('data-callback', 'checkCallBack');
function checkCallBack(params) {
       $('.error_g-recaptcha-response').hide();
}
˂/script˃

˂div class="error_g-recaptcha-response"position: relative;"˃˂/div˃
          [ [!+fi.error.recaptchav2_error] ]
˂/div˃