Возникли проблемы с повторной настройкой Google recaptcha в виде HTML - PullRequest
0 голосов
/ 24 августа 2018

Кажется, что этот скрипт работает и не дает работать кнопке отправки до тех пор, пока капча v2 не будет проверена. Я пытался следовать некоторым руководствам из предыдущих вопросов, но мне ничего не помогло.

Может ли кто-нибудь пролить свет на меня? Благодарю.

    <form id="myForm" class="contact-form" action="php/send-email.php" method="post" novalidate>
                                <div class="row">
                                    <div class="column width-6">
                                        <input type="text" name="fname" class="form-fname form-element large" placeholder="First Name*" tabindex="1" required>
                                    </div>
                                    <div class="column width-6">
                                        <input type="text" name="lname" class="form-lname form-element large" placeholder="Last Name" tabindex="2">
                                    </div>
                                    <div class="column width-6">
                                        <input type="email" name="email" class="form-email form-element large" placeholder="Email address*" tabindex="3" required>
                                    </div>
                                        <div class="column width-6">
                                                    <div class="field-wrapper">
                                                        <div class="form-select form-element">
                                                            <select name="budget" tabindex="4" class="form-aux" data-label="Project Type">
                                                                <option selected="selected" value="">Project Type</option>
                                                                <option value="">Website Project</option>
                                                                <option value="">Marketing</option>
                                                                <option value="">Branding</option>
                                                                <option value="">Other</option>
                                                            </select>
                                                        </div>
                                                    </div>
                                                </div>
                                    <div class="column width-6">
                                        <input type="text" name="honeypot" class="form-honeypot form-element large">
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="column width-12">
                                        <div class="field-wrapper">
                                            <textarea name="message" class="form-message form-element large" placeholder="Message(Include phone number if needed)*" tabindex="7" required></textarea>
                                        </div>
                                    </div>
                                    <div class="column width-12">
                                         <div class="g-recaptcha"
                                               data-callback="onCompleted"
                                               data-sitekey="6Legq1IUAAAAANF4DoxqEkVyS3jY0N4UQKDUPuBa">
                                        </div>
                                        <input type="submit" value="Send Email" class="form-submit button medium bkg-theme bkg-hover-theme color-white color-hover-white" onsubmit="check_if_capcha_is_filled">
                                    </div>
                                </div>


                            </form>
                            <script>
$('#myForm').submit(function(event) {
    console.log('form submitted.');

    if (!grecaptcha.getResponse()) {
        console.log('captcha not yet completed.');

        event.preventDefault(); //prevent form submit
        grecaptcha.execute();
    } else {
        console.log('form really submitted.');
    }
});

onCompleted = function() {
    console.log('captcha completed.');
    $('#myForm').submit();
    alert('wait to check for "captcha completed" in the console.');
}

Да, полоса закрыта. Я не знаю, почему не отображается конечный тег.

...