Disabled fields not picked up by serializeArray
you can use readonly
serializeArray() can read it.
Try this
var data = $('form').serializeAllArray();
And here is the small plugin that is used
(function ($) {
$.fn.serializeAllArray = function () {
var obj = {};
$('input',this).each(function () {
obj[this.name] = $(this).val();
});
return $.param(obj);
}
})(jQuery);
You can also try enabling all your element's just to serialize them and then disable them after serializing.
var myform = $('#form');
var disabled = myform.find(':input:disabled').removeAttr('disabled');
var serialized = myform.serializeArray();
disabled.attr('disabled','disabled');