#javascript #jquery #ajax #javascript-framework #recaptcha
#javascript #jquery #ajax #javascript-фреймворк #recaptcha
Вопрос:
Я загружаю reCAPTCHA через JavaScripthttp://www.google.com/recaptcha/api/js/recaptcha_ajax.js и я использую jquery-1.5.2.min.js для связи с локальным PHP-скриптом, который затем проверяет входные данные через Google recaptchalib.php и возвращает данные в JavaScript в формате JSON. Все это работает, но консоль Google Chrome сообщает об ошибке:
Uncaught TypeError: Cannot set property 'innerHTML' of null recaptcha_ajax.js:15
Recaptcha._init_builtin_theme recaptcha_ajax.js:15
Recaptcha._finish_widget recaptcha_ajax.js:19
Recaptcha.challenge_callback recaptcha_ajax.js:13
(anonymous function) challenge:12
Я хотел бы устранить эту ошибку, но я не знаю, как это сделать.
Комментарии:
1. Если вы не опубликуете какой-либо свой код, скорее всего, никто не сможет сказать вам, в чем проблема.
2. Я надеялся на общий совет и получил его. Но вы, конечно, правы, чем больше информации, тем лучше.
Ответ №1:
Возможно, вы передаете ему несуществующий элемент для создания экземпляра самого себя. Вы уверены, что не ошиблись в написании id
или чего-то подобного?
Комментарии:
1. Я забыл удалить старый код и дважды вызвал Recaptcha.create (..). Спасибо, что заставил меня присмотреться повнимательнее!
Ответ №2:
Все дело в id
div, в котором вы хотите создать reCAPTCHA. Проверьте, правильно ли id
. И прежде чем создавать reCAPTCHA, проверьте, id
действительно ли это существует:
if($("#captcha").length) {
Recaptcha.create("here_is_your_key", "captcha", {
theme: "clean"
});
}