2017-06-09 4 views
1

Ich habe Multi-Step-Anmeldeformular mit jQuery.stepy.js verwendet Auch ich habe Google ReCAPTCHA mit 'Gem "Recaptcha"' hinzugefügt. Als ichReCAPTCHA Wurf Fehler bei der Verwendung in jQuery Stepy Wizard

<%= recaptcha_tags %> 

innen Assistent bin Platzierung bilden sie wirft JavaScript-Fehler wie folgt aus:

Uncaught Error: ReCAPTCHA placeholder element must be empty 

ich hinter diesen Fehler aus dem Grund gesucht und gefunden, dass dieser Fehler tritt auf, wenn die Bibliothek google recaptcha ist zweimal laden. Tritt dies wegen jQuery.stepy.js auf? Wie kann ich diesen Fehler beheben?

+0

Tritt dieser Fehler auf, wenn Sie die '<% = recaptcha_tags%>' entfernen? Können Sie das vollständige Fehlerscript von der JavaScript-Konsole des Browsers aus anzeigen? –

+0

Nein, der Fehler tritt nicht auf, wenn ich den <% = recaptcha_tags%> entferne. Voll Fehler ist: nicht erfasste Fehler: ReCAPTCHA Platzhalter Element muß leer sein bei Wp (recaptcha__en.js: 394) bei recaptcha__en.js: 399 bei Jp (recaptcha__en.js: 389) bei recaptcha__en.js: 398 an recaptcha__en.js: 410 Wp @ recaptcha__en.js: 394 (anonym) @ recaptcha__en.js: 399 Jp @ recaptcha__en.js: 389 (anonym) @ recaptcha__en.js: 398 (anonym) @ recaptcha__en.js: 410 –

Antwort

0

Dieser Fehler tritt auf, wenn die Datei recaptcha/api.js mehrfach geladen wird.

In Ihrem Fall haben Sie <% = recaptcha_tag%> verwendet, dieses Tag injiziert api.js standardmäßig jedes Mal, wenn es gerendert wird. Überprüfen Sie, ob Sie die Bibliotheksdatei nicht explizit hinzugefügt haben oder mehrere recaptcha-Tags verwenden (jeweils wird ein Bibliotheksskript injiziert).

Sie können :script param auf false, setzen durch Argument Methode übergeben:

<%= recaptcha_tag :script => false %> 
Verwandte Themen