【问题标题】:Uncaught TypeError in Google reCAPTCHAGoogle reCAPTCHA 中未捕获的 TypeError
【发布时间】:2011-08-16 10:23:12
【问题描述】:

我正在通过 JavaScript 加载 reCAPTCHA http://www.google.com/recaptcha/api/js/recaptcha_ajax.js 并正在使用 jquery-1.5.2.min.js 与本地 PHP 脚本通信,该脚本然后通过 Google 的 recaptchalib.php 验证输入并将数据以 JSON 格式返回到 JavaScript。 一切正常,但谷歌浏览器的控制台报错:

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

我想解决这个错误,但我不知道该怎么做。

【问题讨论】:

  • 如果您不发布任何代码,任何人都可能无法告诉您问题所在。
  • 我曾希望得到一般性的建议并得到了它。但你当然是对的,信息越多越好。

标签: javascript jquery ajax javascript-framework recaptcha


【解决方案1】:

也许你传递给它一个不存在的元素来实例化它自己。你确定你没有拼错 id 或类似的东西吗?

【讨论】:

  • 我忘记删除旧代码并调用了 Recaptcha.create(..) 两次。感谢您让我仔细观察!
【解决方案2】:

这一切都与您要在其中创建 reCaptcha 的 div 的 id 有关。检查id 是否正确。在创建 reCpatcha 之前,检查 id 是否真的存在:

if($("#captcha").length) {
  Recaptcha.create("here_is_your_key", "captcha", {
    theme: "clean"
  });
}

【讨论】:

    猜你喜欢
    • 2019-02-22
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多