readonly is to lock this control. Disabled and readonly have the same thing as locking this control. The user cannot change its value, but disabled is more thorough. 1: readonly is to lock this control. It cannot be modified on the interface (but it can be modified through JavaScript).
2: Disabled and readonly have the same place as locking the control user cannot change his value, but disabled is more thorough. It wants to make you unable to use him at all, including changing his background color (if you don't believe it, you can modify an input text box that was disabled, you find that you are futile). If it is a checkbox, you cannot select it.
3: All controls have disabled attributes, but they do not necessarily have readonly attributes. Such as select drop-down box