// 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; }