Неперехваченная ошибка типа в Google reCAPTCHA

#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"
  });
}