readonly: user không thể chỉnh sửa nhưng vẫn focus, copy, và giá trị vẫn được submit cùng form. disabled: không tương tác được, không focusable, giá trị KHÔNG submit (bị loại khỏi form data). Visual: disabled làm mờ element, readonly giữ nguyên appearance. Dùng readonly khi muốn hiển thị giá trị nhưng vẫn cần submit (số tham chiếu tự động). Dùng disabled khi field không áp dụng và không cần gửi lên server.
Lưu ý: readonly chỉ hoạt động với input/textarea, không với select.
readonly: the user cannot edit but can still focus, copy, and the value is submitted with the form. disabled: no interaction allowed, not focusable, and the value is NOT submitted (excluded from form data). Visually: disabled grays out the element, readonly keeps its normal appearance. Use readonly when you want to display a value but still need to submit it (auto-generated reference numbers). Use disabled when the field doesn't apply and should not be sent.
Note: readonly only works with input/textarea, not select.