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

HTML DOM 숫자 입력(number) 필드의 disabled 속성 완벽 가이드

HTML DOM의 input number disabled 속성은 HTML 문서 안에서 type="number"로 지정된 입력 필드가 현재 비활성화(disabled) 상태인지를 확인하고, 그 상태를 변경할 수 있게 해주는 속성입니다. 이 속성은 불리언(Boolean) 값을 다루며, true는 비활성화, false는 활성화 상태를 의미합니다.

문법

기본적인 문법은 다음과 같습니다.

1. disabled 값 가져오기

object.disabled

입력 필드가 비활성화되어 있으면 true, 활성화되어 있으면 false를 반환합니다.

2. disabled 값 설정하기

object.disabled = true | false

true를 대입하면 해당 입력 필드가 비활성화되어 사용자가 값을 입력하거나 수정할 수 없게 되고, false를 대입하면 다시 활성화됩니다.

예제

HTML DOM input number disabled 속성을 실제로 활용한 예제를 살펴보겠습니다. 버튼을 클릭할 때마다 숫자 입력 필드가 비활성화 상태와 활성화 상태 사이에서 전환됩니다.

<!DOCTYPE html>
<html>
<head>
<style>
    html{
        height:100%;
    }
    body{
        text-align:center;
        color:#fff;
        background: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%) center/cover no-repeat;
        background:#B39CD0;
        height:100%;
    }
    p{
        font-weight:700;
        font-size:1.2rem;
    }
    input{
        width:35%;
        border:2px solid #fff;
        background-color:transparent;
        color:#fff;
        font-weight:bold;
        padding:8px;
        outline:none;
    }
    .btn{
        background:#008B74;
        border:none;
        height:2rem;
        border-radius:2px;
        width:35%;
        margin:2rem auto;
        display:block;
        color:#fff;
        outline:none;
        cursor:pointer;
    }
    .show{
        font-size:1.5rem;
        font-weight:bold;
    }
</style>
</head>
<body>
<h1>DOM 숫자 입력 disabled 예제</h1>
<p>안녕하세요! 태어난 일(day)을 입력해 보세요</p>
<input type="number" class="numberInput">
<button onclick="disEna()" class="btn">비활성화 / 활성화</button>
<div class="show"></div>
<script>
    function disEna() {
        var numberField = document.querySelector(".numberInput");
        var showMsg = document.querySelector(".show");
        showMsg.innerHTML = "";
        if (numberField.disabled === true) {
            numberField.disabled = false;
            showMsg.innerHTML = "이전에는 비활성화 상태였지만, 지금은 활성화되었습니다!";
        } else {
            numberField.disabled = true;
            showMsg.innerHTML = "이전에는 활성화 상태였지만, 지금은 비활성화되었습니다!";
        }
    }
</script>
</body>
</html>

코드 설명

  • document.querySelector()를 사용해 클래스명이 numberInput인 입력 요소와 show인 메시지 표시 영역을 선택합니다.
  • 버튼을 클릭하면 disEna() 함수가 실행되고, 현재 입력 필드의 disabled 값이 true인지 검사합니다.
  • true라면 false로 변경해 필드를 활성화하고, 그렇지 않다면 true로 변경해 비활성화합니다.
  • 상태가 전환될 때마다 변경 결과를 알려주는 메시지가 화면에 함께 출력됩니다.

실행 결과

위 코드를 실행하면 다음과 같은 화면이 나타납니다.

HTML DOM 숫자 입력(number) 필드의 disabled 속성 완벽 가이드

[비활성화 / 활성화] 버튼을 한 번 클릭하면 숫자 입력 필드가 비활성화됩니다.

HTML DOM 숫자 입력(number) 필드의 disabled 속성 완벽 가이드

버튼을 다시 한 번 클릭하면 비활성화되었던 입력 필드가 다시 활성화됩니다.

HTML DOM 숫자 입력(number) 필드의 disabled 속성 완벽 가이드

이처럼 disabled 속성을 활용하면 특정 조건에서 사용자의 입력을 차단하거나, 폼 제출 과정에서 불필요한 입력을 방지하는 등 다양한 사용자 경험(UX) 시나리오에 손쉽게 적용할 수 있습니다.