1. ホーム
  2. javascript

[解決済み] エラーが発生しました。ReCAPTCHA のプレースホルダー要素は空でなければなりません。

2022-02-02 17:23:09

質問事項

laravelのアプリケーションでrecaptchaを使用しています。

jqueryを使ってフォーム送信時にrecaptchaのレスポンスをチェックし、validate captchaを促すアラートでユーザーを停止させたいのです。

しかし、キャプチャが埋まっていなくても、フォームの送信を停止することができませんでした。

以下は私のコードです。

 $('#payuForm').on('submit', function (e) {

                    var response = grecaptcha.getResponse();

                    if(response.length == 0 ||  response == '' || response ===false ) {
                        alert('Please validate captcha.');
                        e.preventDefault();
                    }
                });



<div class="captcha">
 {{ View::make('recaptcha::display') }}
</div>

ブラウザのコンソールでこのエラーが表示され、フォームが送信されます。

Error: ReCAPTCHA placeholder element must be empty

解決方法は?

Google Recaptcha ライブラリを2回読み込んでいます。

https://www.google.com/recaptcha/api.js