Показать сообщение отдельно
  #7 (permalink)  
Старый 26.01.2018, 17:29
Аспирант
Отправить личное сообщение для cinema4d Посмотреть профиль Найти все сообщения от cinema4d
 
Регистрация: 07.08.2013
Сообщений: 41

Сообщение от Nexus Посмотреть сообщение
cinema4d, смотрите раздел "g-recaptcha tag attributes and grecaptcha.render parameters".
Вам нужен атрибут "data-callback".
https://developers.google.com/recapt...splay#js_param
спс я почитаю, не ожидал увидеть комментарий)

я тут слепил костыль из того что было если не сложно посмотрите, при проверке и нажатии хочу активировать вторую кнопку id="button"

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
        <script src="https://www.google.com/recaptcha/api.js"></script>
    </head>
    <body>

        <div class="container">
            <form class="form-horizontal">
                <div class="form-group">
                    <label for="login" class="col-sm-3 control-label">Ваш логин</label>
                    <div class="col-sm-9">
                        <input type="text" name="login" class="form-control">
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-3 col-sm-9">
                        <div class="g-recaptcha" data-sitekey="AAAAA"></div> / скрыл реальный код
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-3 col-sm-9">
                        
                        
                        <button type="submit" class="btn btn-primary">Отправить</button>
                        
                        
                        <button type="submit" id="button" disabled="disabled" class="btn btn-primary">Отправить</button>
                        
                        
                    </div>

                </div>

            </form>
        </div>



        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

        <script type="text/javascript">
            $("form").submit(function(e){
                e.preventDefault();

                var login = $("input").val();

                $.ajax({
                    url: 'handler.php',
                    type: "post",
                    data: "login=" + login + "&g-recaptcha-response=" + grecaptcha.getResponse(),
                    success: function(data) {
                        if(data === 'ok') {
                            $('#button').attr('disabled','disable');
                        } else {
                            console.log(data);
                        }
                    }
                })
            });
        </script>


    </body>
</html>


<?php

if($_POST['g-recaptcha-response']) {
  $captcha = $_POST['g-recaptcha-response'];
  $secret = "AAAA"; // скрыл реальный код

  $json = json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=". $secret . "&response=" . $captcha), true);

  if($json['success']) {
      echo "ok";
  } else {
      echo "recaptcha error";
  }
}  else {
    echo "Вы не ввели значение recaptcha";
}

 ?>
Ответить с цитированием