form.serialize() not working
<p>HTML Code</p>

<pre><code>&lt;div id="address" class="col s12"&gt;
            &lt;div class="row"&gt;
              &lt;form method="post" action="" id="addressDetails"&gt;
                &lt;div class="input-field col s6"&gt;
                  &lt;textarea id="lAddress" name = 'lAddress' minlength='20' maxlength='100' class="materialize-textarea" class="validate" required length="100"&gt;&lt;/textarea&gt;
                  &lt;label for="lAddress" data-error="Must be between 20 to 100 Characters"&gt;Local Address&lt;/label&gt;
                &lt;/div&gt;
                &lt;div class="input-field col s6"&gt;
                  &lt;textarea id="pAddress" name = 'pAddress' minlength='20' maxlength='100' class="materialize-textarea" class="validate" required length="100"&gt;&lt;/textarea&gt;
                  &lt;label for="pAddress" data-error="Must be between 20 to 100 Characters"&gt;Permanent Address&lt;/label&gt;
                &lt;/div&gt;
              &lt;/form&gt;
            &lt;/div&gt;
            &lt;div class="row center-align"&gt;
              &lt;button type="submit" name="submitAddress" form="addressDetails" class="waves-effect waves-light light-blue darken-1 btn updateProfile"&gt;Save Address Details&lt;/button&gt;
            &lt;/div&gt;
          &lt;/div&gt;
</code></pre>

<p>JS Code</p>

<pre><code>function updateProfile(event) {
    console.log(this);
    event.preventDefault();
    form = $(this).closest('.col s12').find('form');
    console.log($(form));
    $.ajax('profile/updateProfile.php', {
        type: "POST",
        dataType: "json",
        data: form.serialize(),
        success: function(result) {
            //console.log(result);
        }
    });
}

$(document).ready(function() {
    $("button.updateProfile").on('click', updateProfile);
});
</code></pre>

<p>I check network AJAX calls using Chrome Debugger. None of the key value pairs are being passed.</p>

<p>There is no errors in Console Logs.</p>