Как использовать ajax для проверки и отправки формы при успешной проверке? - PullRequest
0 голосов
/ 26 января 2019

Я пытаюсь отправить форму после проверки.Я использую модуль Securimage в качестве модуля капчи.

Я пытаюсь проверить и отправить форму, используя метод onsubmit и используя вызов ajax для проверки капчи.Я могу проверить, но не могу отправить при успешной проверке капчи.

Вот моя функция jquery:

function processForm()
    {
        var captcha = $("#captcha_code1").val();
        jQuery.ajax({
            url: 'resources/qform/captcha_check.php',
            type: 'POST',
            data: {captcha_code: captcha},
            dataType: 'json'
        }).done(function(data) {
            if (data.error === 0){
                alert('submit successful');
                return true;
            }else{
                alert("There was an error with your submission.\n\n" + data.message);
                jQuery('#captcha_code1').val('');
                return false;
            }
        });

        return false;
    }

Приведенный выше код возвращает предупреждение «успешно отправлен» при успешной проверке chptcha, но не может отправить форму.Итак, возможно ли сделать то и другое, и если да, то как?

1 Ответ

0 голосов
/ 26 января 2019

jQuery.ajax является асинхронным, поэтому обработчик onsubmit возвращает false, чтобы предотвратить отправку формы.

Это верно. Теперь, когда вы получаете data.error , вам нужно вызвать событие submit самостоятельно. Я могу предложить передать элемент формы в качестве параметра для запуска отправки:

HTMLFormElement.submit()

Вызов submit () больше не запускает вашу функцию, как указано в документации .

...