@WiNNeR_tig

Как установить яндекс капчу "я не робот"?

Вот код:
<script src="https://captcha-api.yandex.ru/captcha.js" defer></script>
	<div id="captcha-container" class="smart-captcha"
      style="height: 100px"
      id="captcha-container"
      class="smart-captcha"
      data-sitekey="4uJL8Ux12Ai5TFZtPamOIgL4evbtTq93Veqo1wnv"
      data-hl="en"
      data-callback="yandex_captcha"
    >
    <input type="hidden" name="smart-token" id="smart_token" value="dQ0">
    </div>

    <script>

    function yandex_captcha() {

        var smart_token = $('#smart_token').val();
        console.log(smart_token);
    }

    </script>


На выходе получаю undefined

делаю как в документации яндекса

<div id="captcha-container" class="smart-captcha" ...>
    <input type="hidden" name="smart-token" value="<token>">
    ...
</div>


Разобрался, рабочий код:

<script src="https://captcha-api.yandex.ru/captcha.js" defer></script>
	<div id="captcha-container" class="smart-captcha"
      style="height: 100px"
      id="captcha-container"
      class="smart-captcha"
      data-sitekey="<ключ_клиента>"
      data-hl="en"
      data-callback="yandex_captcha"
    >
    </div>

    <script>

    function yandex_captcha() {
        var smart_token = document.querySelector('input[name="smart-token"]').value;
        console.log(smart_token);
    }

    </script>
  • Вопрос задан
  • 215 просмотров
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
1. # - это получение по id, а тебе нужно по name.
2. у тебя name=smart-token, а не smart_token
Используй $("input[name='smart-token']")
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы