Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用ajax验证并提交成功验证后的表单?_Jquery_Ajax_Captcha - Fatal编程技术网

Jquery 如何使用ajax验证并提交成功验证后的表单?

Jquery 如何使用ajax验证并提交成功验证后的表单?,jquery,ajax,captcha,Jquery,Ajax,Captcha,我正试图提交一个表格后,验证码检查。我使用该模块作为验证码模块 我正在尝试使用onsubmit方法验证并提交表单,并使用ajax调用验证验证码。我可以检查,但在验证码检查成功后无法提交 以下是我的jquery函数: function processForm() { var captcha = $("#captcha_code1").val(); jQuery.ajax({ url: 'resources/qform/captcha_

我正试图提交一个表格后,验证码检查。我使用该模块作为验证码模块

我正在尝试使用
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检查成功但无法提交表单时返回“提交成功”警报。那么,是否可以同时执行这两个操作?如果是,那么如何执行?

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

没错。现在,当您获得data.error时,您需要自己启动提交事件。我建议将表单元素作为参数传递,以触发提交:

HTMLFormElement.submit()

submit()调用不会再次触发中报告的函数。

我尝试使用
$('form#type-1')提交表单。submit()。但它不会向操作页面提交任何数据。你能帮个忙吗?对不起。我还不够清楚。我建议使用普通javascript。而jQuery$('form#type-1').submit();触发提交事件普通javascript不会再次引发事件:document.querySelector('form#type-1').submit();因此,您的代码不会再次运行processForm