на моем сайте у меня есть компонент Google ReCaptcha, который позволяет мне указать функцию обратного вызова внутри атрибута «обратный вызов данных».
это мой HTML-файл:
<html>
<script src='https://www.google.com/recaptcha/api.js'></script>
<script type="text/javascript">
var txtClientResponse = document.getElementById('txtClientResponse');
var txtServerResponse = document.getElementById('txtServerResponse');
function successCallback(value) {
this.txtClientResponse.value = value;
this.txtServerResponse.innerText.clear();
}
</script>
<body>
<div class="g-recaptcha" data-callback="successCallback" data-error-callback="errorCaptcha" data-sitekey="xxxxxx" />
<input ID="txtClientResponse" />
<input ID="txtServerResponse" />
</body>
Все прекрасно работает, за исключением того, что я не могу получить доступ к локальной переменной txtClientResponse, которая содержит элемент DOM, из функции обратного вызова "successCallback".к локальным переменным, таким как var test = 1, я могу получить доступ с помощью this.test.
Я пытался передать «this», используя то же самое, что и на Angular, но это не сработало.мне нужно чистое решение javascript - не угловое:
<div class="g-recaptcha" data-callback="successCallback.bind(this)" data-error-callback="errorCaptcha" data-sitekey="xxxxxx"/>