如何使用ajax进行验证并在成功验证后提交表单?

时间:2019-01-26 14:43:38

标签: jquery ajax captcha

我正在尝试在验证码检查后提交表格。我正在使用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 :(得分:1)

jQuery.ajax是异步的,因此onsubmit处理程序返回false以防止表单提交。

是的。现在,当您收到 data.error 时,您需要自己引发Submit事件。我可能建议将form元素作为参数传递,以触发提交:

HTMLFormElement.submit()

submit()调用不会再次触发documentation中报告的功能。