paperlined.org
dev > javascript
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;
    }