Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ajax Call on submit handler Jquery Validation

I have a form which have multiple select dropdown name=select[], and this form is validate from Jquery Validation and after successful validation Submit handler call Ajax i want to send all form keys and values also include in array form , Here is My Code .

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

Now the when validation successfully done new FormData(this) not recognize form id.but when i put new Formdata($("#frmRegister")[0]) then its send variables to php but not array. How can i define form id in like new Formdata("#frmRegister").Remember please i also have mulitple select array in form .

like image 584
Hashaam Avatar asked Dec 05 '22 15:12

Hashaam


2 Answers

The submithandler goes inside of the .validate() method and you would use the form argument provided by the developer.

$('#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.

like image 199
Sparky Avatar answered Dec 08 '22 03:12

Sparky


Thank You Very Much For giving Answer i have solution here is code .

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);
                    }
                });
            });
        }
like image 34
Hashaam Avatar answered Dec 08 '22 03:12

Hashaam