Sometime, you would want to have custom fields readonly for customers but editable for administrator. In this case:
1. Edit the custom field, look at Extra attribute, enter readonly there
2. Get this attached file, unzip it, upload to folder administrator/templates/isis/html/registrant
After that, it should work as expected.