Making fields read-only is a great way to restrict change or to make sure input is valid. However, all read-only fields are not submitted by default onSave event.
This is not desirable if you are automatically populating fields from user input on another field(s) and those fields cannot be changed by user. Those auto-populated fields will never be saved.
Xrm.Page.getAttribute("<field name>").setSubmitMode("<submit value>");
Submit values available are:
Read more on MSDN article.
Cheers – Sy