Thuộc tính disabled của đối tượng HTMLTextAreaElement cho phép **lấy hoặc đặt** trạng thái vô hiệu hóa của textarea. Khi true: textarea **không thể focus, không thể chỉnh sửa, không gửi giá trị khi submit form**, thường hiển thị mờ (grayed out).
Cú pháp
// Lấy trạng thái var isDisabled = textarea.disabled; // Đặt trạng thái textarea.disabled = true; // hoặc false
Ví dụ: Vô hiệu hóa textarea
<!DOCTYPE html>
<html>
<style>
body { color: #000; background: lightseagreen; height: 100vh; }
.btn { background: #db133a; border: none; height: 2rem; border-radius: 2px; width: 40%; display: block; color: #fff; outline: none; cursor: pointer; margin: 1rem auto; }
<body>
<h1>Demo: textarea.disabled</h1>
<textarea placeholder="Gõ nội dung ở đây..." rows="8" cols="40"></textarea>
<button onclick="disableTA()" class="btn">Vô hiệu hóa Textarea</button>
<script>
function disableTA() {
document.querySelector("textarea").disabled = true;
}
</script>
</body>
</html>
Kết quả:
- Ban đầu: Textarea hoạt động bình thường, có placeholder.
- Nhấn nút: Textarea bị mờ, không focus được, không gõ được, không submit.
disabled vs readOnly (so sánh chi tiết)
| Hành vi | disabled | readOnly |
|---|---|---|
| Nhập liệu | Không | Không |
| Focus | Không | Có |
| Tab vào được | Không (bỏ qua trong tab order) | Có |
| Chọn/Copy | Hầu như không (trừ một số browser) | Có |
| Gửi form | Không | Có |
| Giao diện | Mờ, xám (user-agent style) | Bình thường (tùy CSS) |
| CSS pseudo | :disabled |
:read-only |
Khi nào dùng disabled?
- Trường không áp dụng cho ngữ cảnh hiện tại (ví dụ: "Địa chỉ giao hàng" khi chọn "Nhận tại cửa hàng").
- Chờ xử lý async (đang lưu, đang load) — ngăn submit trùng lặp.
- Quyền hạn: user không có quyền sửa trường này.
Lưu ý
disabledlà boolean attribute: HTML viết<textarea disabled>.- Để enable lại:
ta.disabled = falsehoặcta.removeAttribute("disabled"). - Khi disabled,
ta.valuevẫn đọc được bằng JS, chỉ không gửi khi submit native form.