Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML DOM Textarea readOnly 속성 – 텍스트 영역 읽기 전용 설정 방법

HTML DOM의 readOnly 속성은 HTML 문서에서 <textarea> 요소의 내용을 사용자가 수정할 수 없는 읽기 전용 상태로 만들지 여부를 확인하거나 변경하는 데 사용됩니다.

readOnly 속성의 동작 방식

readOnly 값이 true로 설정되면 사용자는 텍스트 영역의 내용을 볼 수는 있지만 직접 편집할 수 없습니다. 반대로 false이면 일반적인 입력 필드처럼 내용을 자유롭게 수정할 수 있습니다.

readOnly와 disabled의 차이점

두 속성 모두 사용자의 입력을 막지만 차이가 있습니다. readOnly는 포커스를 받고 텍스트를 선택·복사할 수 있으며, 폼 제출 시에도 값이 함께 전송됩니다. 반면 disabled는 요소 자체가 비활성화되어 포커스도 받을 수 없고, 폼 제출 시 값도 전송되지 않습니다.

구문(Syntex)

다음은 readOnly 속성의 기본 구문입니다.

1. readOnly 값 가져오기

object.readOnly

2. readOnly 값 설정하기

object.readOnly = true | false

반환값은 불리언(Boolean) 타입으로, 읽기 전용 상태이면 true, 그렇지 않으면 false입니다.

예제

다음 예제는 버튼을 클릭할 때마다 textarea 요소의 readOnly 속성 값을 전환(toggle)하는 방법을 보여줍니다.

<!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;
   }
</style>
<body>
<h1>DOM Textarea readOnly Property Demo</h1>
<textarea rows="5" cols='20' name="I'm name attribute of textarea element">
Hi! I'm a text area element with some dummy text.
</textarea>
<button onclick="set()" class="btn">Toggle Read Only</button>
<script>
   function set() {
      var ta = document.querySelector("textarea");
      if (ta.readOnly === true) {
         ta.readOnly = false;
      } else {
         ta.readOnly = true;
      }
   }
</script>
</body>
</html>

실행 결과

HTML DOM Textarea readOnly 속성 – 텍스트 영역 읽기 전용 설정 방법

위 화면에서 “Toggle Read Only” 버튼을 클릭하면 textarea 요소의 readOnly 속성 값이 true에서 false로, 또는 false에서 true로 전환됩니다.

HTML DOM Textarea readOnly 속성 – 텍스트 영역 읽기 전용 설정 방법

읽기 전용 상태에서는 텍스트 영역의 내용을 선택하거나 복사할 수는 있지만, 키보드로 새로운 내용을 입력하거나 기존 내용을 수정할 수 없습니다. 버튼을 다시 클릭하면 편집 가능한 상태로 되돌아갑니다.