Ajax 调用提交处理程序 Jquery 验证

Ajax Call on submit handler Jquery Validation

我有一个有多个 select 下拉列表 name=select[] 的表单,这个表单是从 Jquery 验证中验证的,并且在成功验证后提交处理程序调用 Ajax 我想要发送所有表单键和值也包括在数组形式中,这是我的代码。

function:submitHandler
{
$.ajax({
url: "processo.php", 
type: "POST",             
data: new FormData(this),
cache: false,             
processData:false,      
success: function(data)   
{
$('#loading').hide();
$("#message").html(data);
}
});
}

现在,当验证成功完成时,new FormData(this) 无法识别表单 id.but,当我输入 new Formdata($("#frmRegister")[0]) 时,它会将变量发送到 php,但不会发送到数组。我如何定义表单 ID,例如 new Formdata("#frmRegister")。请记住,我在表单中也有多个 select 数组。

The submithandler 进入 .validate() 方法内部,您将使用开发人员提供的 form 参数。

$('#myform').validate({
    submitHandler: function(form) {
        $.ajax({
            url: "processo.php", 
            type: "POST",             
            data: new FormData($(form)),
            cache: false,             
            processData: false,      
            success: function(data) {
                $('#loading').hide();
                $("#message").html(data);
            }
        });
        return false;
    },
    // other options
});

You could also use $(form).serialize(); instead.

非常感谢您的回答我这里有解决方案是代码。

function: submitHandler {
            $("#frmRegister").load("submit", function (e)// Trigger Submit When Validation Done
            {
                $.ajax({
                    url: "processo.php",
                    type: "POST",
                    data: new FormData(this),
                    cache: false,
                    processData: false,
                    success: function (data) {
                        $('#loading').hide();
                        $("#message").html(data);
                    }
                });
            });
        }