document updated 12 years ago, on Sep 28, 2011
// convert the data structure that's generated by jQuery's .serializeArray(),
// into a form that can be injested by jQuery's .ajax() 'data:' parameter
// (or .post() or .load() or similar)
function jquery_serializeArray_to_ajax_data(srlzAry_output) {
var data = new Object();
var count = new Object();
jQuery.each(srlzAry_output, function(i, field) {
if (field.name in data) {
if (count[field.name] == 1) {
// there's more than one value, so we have to wrap it in an array
data[field.name] = new Array(data[field.name], field.value);
} else {
data[field.name].push( field.value );
}
count[field.name]++;
} else {
data[field.name] = field.value;
count[field.name] = 1;
}
});
return data;
}