Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> HTML

Thuộc tính disabled của Textarea trong HTML DOM

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ả:

  1. Ban đầu: Textarea hoạt động bình thường, có placeholder.
  2. 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 ý

  • disabled là boolean attribute: HTML viết <textarea disabled>.
  • Để enable lại: ta.disabled = false hoặc ta.removeAttribute("disabled").
  • Khi disabled, ta.value vẫn đọc được bằng JS, chỉ không gửi khi submit native form.