こんにちは。私はreCaptchaにリンクされている目に見えないボタンのクリックをシミュレートするためにJQueryを使用しています。複数のボタンをreCaptchaに接続する必要があり、各ページには1つのreCaptchaしか存在できません。そこで、どのボタンが押されたかを検出するコールバック関数を作成しました。ここで私がやった方法である:Captcha/JQuery - クリックシミュレーションは一度しか動作しません
HTML:
<div class="invisible">
<button class="g-recaptcha"
data-sitekey="..."
data-callback="captcha_callback"
data-badge="inline"
data-type="image"
id="btn_captcha"></button>
</div>
Clickイベント+クリックシミュレーション:
$("#review_send").on("click", function() {
alert("HI");
$("#btn_captcha").data("button-pressed", "review");
$("#btn_captcha").click();
$("#btn_captcha").blur();
});
reCAPTCHAのコールバック:
var captcha_callback = function(response) {
if($("#btn_captcha").data("button-pressed") === "mail") {
alert($("#btn_captcha").data("button-pressed"));
send_contact_mail(response);
} else if($("#btn_captcha").data("button-pressed") === "review") {
alert($("#btn_captcha").data("button-pressed"));
send_review(response);
}
};
はどうなりますか。最初に#review_send
をクリックするとすべて動作します:最初に "HI"とそれから "review"を警告します。しかし、#review_send
を2回押すと、ただ単に "HI"でアラートが表示されます。
私はしばらく待ってからクリックが再び機能することを発見しました。
は関連この何かのjQuery/Javascriptをされており、それにreCAPTCHAのとは何かを持っているかのreCAPTCHAをタイムアウトを持っていますか?
ありがとうございます!私はあなたが同じページ上に複数のreCAPTCHAを持つことができないと思ったので
ニースは、解決策に取り組んでいたが、それを理解できなかった! – Nebulosar