【问题标题】:ReCAPTCHA throwing error when used inside jQuery Stepy Wizard在 jQuery Stepy Wizard 中使用 ReCAPTCHA 时抛出错误
【发布时间】:2017-06-09 05:30:06
【问题描述】:

我使用 jQuery.stepy.js 使用多步注册表单我还使用“gem“recaptcha”添加了 google ReCAPTCHA。当我放置时

  <%= recaptcha_tags %>

在向导窗体中它会抛出这样的 JavaScript 错误:

Uncaught Error: ReCAPTCHA placeholder element must be empty

我已经搜索了这个错误背后的原因,发现如果 google recaptcha 库加载两次就会出现这个错误。 这是因为 jQuery.stepy.js 吗?我该如何解决这个错误?

【问题讨论】:

  • 去掉&lt;%= recaptcha_tags %&gt;会不会出现这个错误?你能从浏览器的 javascript 控制台显示完整的错误脚本吗?
  • 不,如果我删除 ,则不会发生错误。完整的错误是:未捕获的错误:ReCAPTCHA 占位符元素必须在 Wp (recaptcha__en.js:394) at recaptcha__en.js:399 at Jp (recaptcha__en.js:389) at recaptcha__en.js:398 at recaptcha__en.js:410 Wp 为空@recaptcha__en.js:394(匿名)@recaptcha__en.js:399 Jp@recaptcha__en.js:389(匿名)@recaptcha__en.js:398(匿名)@recaptcha__en.js:410

标签: ruby ruby-on-rails-5 recaptcha jquery-form-wizard


【解决方案1】:

recaptcha/api.js 文件被多次加载时会出现此错误。

在你的例子中,你使用了 ,这个标签在每次渲染时默认注入 api.js。只需检查您没有明确添加库文件或使用多个recaptcha 标签(每个都会注入库脚本)。

您可以通过将参数传递给方法来将:script 参数设置为false

<%= recaptcha_tag :script => false %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 2020-05-14
    • 2011-09-22
    相关资源
    最近更新 更多