javascript - 取得 - recaptcha 言語




エラー:ReCAPTCHAプレースホルダ要素は空でなければなりません (5)

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

私はちょうどjqueryを使用してform submitでrecaptchaのレスポンスをチェックし、キャプチャを検証する警告をユーザに表示します。

キャプチャがいっぱいになっていなくてもフォームの提出を止めることはできませんでした。

ここに私のコードです。

 $('#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


reCaptchaを空でない要素にレンダリングしようとしたときにこのエラーが発生しました

<div class="g-recaptcha"  data-sitekey="{{ env('GOOGLE_RECAPTCHA_SITE_KEY') }}">
      <div class="form-group">some element inside reCaptcha container</div>
</div>

reCaptchaプレースホルダ要素は空でなければなりません

<div class="g-recaptcha"  data-sitekey="{{ env('GOOGLE_RECAPTCHA_SITE_KEY') }}"></div>

インターネット接続が遅いために同じ問題が発生する可能性があります。


ダイナミックが必要な場合は、ページのキャプチャごとにこれをお試しください:

    <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"
            async defer>
    </script>

    <div class="g-recaptcha"></div>

    <script>
        var onloadCallback = function() {
            //remove old
            $('.g-recaptcha').html('');

            $('.g-recaptcha').each(function (i, captcha) {
                grecaptcha.render(captcha, {
                    'sitekey' : 'your key'
                });
            });
        };
    </script>

しかし、それは遅いです。 最初のページですべての再キャプチャを定義することもできます: https://developers.google.com/recaptcha/docs/display ://developers.google.com/recaptcha/docs/display


WARNING: Tried to load angular more than once.

AngularJsでこのエラーが発生すると、同様にjqueryをチェックできます。





laravel-4.2