Google reCaptcha не проверяется на стороне клиента

На стороне сервера все в порядке, работает правильно, но проверка на стороне клиента не работает, как показано ниже:

<script src='https://www.google.com/recaptcha/api.js'></script>
  <div class="g-recaptcha" data-sitekey="xxxxx"></div>
  <div id="html_element"></div>

JS

 <script>
        var googleResponse = jQuery('#g-recaptcha-response').val();
        if (!googleResponse) {
            $('<p style="color:red !important" class=error-captcha"><span class="glyphicon glyphicon-remove " ></span> Please fill up the captcha.</p>" ').insertAfter("#html_element");
            return false;
        } else {

            return true;
        }
    </script>

Где моя проблема?


person Community    schedule 29.03.2016    source источник


Ответы (1)


Вы должны следовать приведенному ниже коду:

 <div id="html_element" style="display: none;color:red !important">
    <span class="glyphicon glyphicon-remove " ></span>
        Please fill up the captcha.
</div>

$('#form').on('submit', function (e) {
  var response = grecaptcha.getResponse();
    //recaptcha failed validation
           if(response.length == 0) {
               e.preventDefault();
               $('#html_element').show();
            }
            //recaptcha passed validation
            else {
               $('#html_element').hide();
            }
            if (e.isDefaultPrevented()) {
              return false;
            } else {
              return true;
            }
        });
person Community    schedule 29.03.2016