How do I make $.serialize() take into account those disabled :input elements?
It seems by default disabled input elements are ignored by $.serialize()
. Is there a workaround?
Temporarily enable them.
var myform = $('#myform');
// Find disabled inputs, and remove the "disabled" attribute
var disabled = myform.find(':input:disabled').removeAttr('disabled');
// serialize the form
var serialized = myform.serialize();
// re-disabled the set of inputs that you previously enabled
disabled.attr('disabled','disabled');
Use readonly inputs instead of disabled inputs:
<input name='hello_world' type='text' value='hello world' readonly />
This should get picked up by serialize().