How to AJAX Submit a Form in jQuery


Use the jQuery $.post() Method

You can simply use the $.post() method in combination with the serialize() method to submit a form using AJAX in jQuery. The serialize() method creates a URL encoded text string by serializing form values for submission. Only "successful controls" are serialized to the string.

Let's try out the following example to understand how it basically work:

<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<title>jQuery AJAX Submit Form</title>
<script src=""></script>
    $("form").on("submit", function(event){
        var formValues= $(this).serialize();
        $.post("process_form.php", formValues, function(data){
            // Display the returned data in browser
            <input type="text" name="name">
            <label><input type="radio" value="male" name="gender"> Male</label>
            <label><input type="radio" value="female" name="gender"> Female</label>
            <label><input type="checkbox" value="music" name="hobbies[]"> Music</label>
            <label><input type="checkbox" value="sports" name="hobbies[]"> Sports</label>
            <label><input type="checkbox" value="dance" name="hobbies[]"> Dance</label>
            <label>Favorite Color:</label>
            <select name="color">
            <textarea name="comment"></textarea>
        <input type="submit" value="submit">
    <div id="result"></div>

Here is the PHP script of our "process_form.php" file, which simply retrieve and output form elements values submitted by the user, which eventually sent back to the user's browser.

<h2>Here is the information submitted by you:</h2>
<p>Name: <b><?php echo $_POST["name"] ?? ''; ?></b></p>
<p>gender: <b><?php echo $_POST["gender"] ?? ''; ?></b></p>
<p>Favorite Color: <b><?php echo $_POST["color"] ?? ''; ?></b></p>
<p>Hobbies: <b><?php if(isset($_POST["hobbies"])){ echo implode(", ", $_POST["hobbies"]); } ?></b></p>
<p>Comment: <b><?php echo $_POST["comment"] ?? ''; ?></b></p>