Skip to content

Instantly share code, notes, and snippets.

@zipang
Last active June 29, 2017 07:02
Show Gist options
  • Save zipang/9918beaef0041ddd5266 to your computer and use it in GitHub Desktop.
Save zipang/9918beaef0041ddd5266 to your computer and use it in GitHub Desktop.
Serialize form data into a usable JS object(jQuery plugin)
/**
* jQuery plugin to convert form fields to a plain JS Object
* @usage var contactForm = $("form.contact").formData();
* @returns {'fieldName': 'fieldValue', (...)}
*/
$.fn.formData = function() {
var data = {},
keyValues = this.serializeArray();
$.each(keyValues, function() {
var field = this.name, val = this.value;
if (field in data) {
if (!data[field].push) {
data[field] = [data[field]]; // promote to Array
}
data[field].push(val);
} else {
data[field] = val;
}
});
return data;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment