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

HTML oninput 이벤트 속성 완벽 정리 – 문법부터 실전 예제까지

HTML의 oninput 이벤트 속성은 사용자가 <input> 또는 <textarea> 요소에 값을 입력하는 순간마다 자동으로 실행되는 이벤트 핸들러입니다. 키보드로 글자를 하나하나 입력하거나 지울 때마다 즉시 반응하기 때문에, 실시간 검색, 유효성 검사, 글자 수 카운터 등 다양한 인터랙티브 기능을 구현할 때 매우 유용하게 활용됩니다.

기본 문법

oninput 이벤트 속성의 기본적인 작성 형식은 다음과 같습니다.

<tagname oninput="script"></tagname>

여기서 script 부분에는 해당 요소에 입력이 발생했을 때 실행하고자 하는 JavaScript 코드나 함수 호출을 작성합니다.

실전 예제

아래 예제는 textarea에 사용자가 메시지를 입력하는 순간, oninput 이벤트가 발생하여 배경색이 변경되는 간단한 데모입니다.

<!DOCTYPE html>
<html>
<head>
<style>
    body {
        color: #000;
        height: 100vh;
        background: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%) no-repeat;
        text-align: center;
        padding: 20px;
    }
    textarea {
        border: 2px solid #fff;
        background: transparent;
        font-size: 1rem;
    }
    ::placeholder {
        color: #000;
        font-size: 1rem;
    }
</style>
</head>
<body>
<h1>HTML oninput Event Attribute Demo</h1>
<textarea placeholder="Enter your message here" oninput="inputFn()" rows='8' cols="50"></textarea>
<script>
    function inputFn() {
        document.querySelector('textarea').style.background = '#ffffff36';
    }
</script>
</body>
</html>

코드 설명

  • CSS 부분: 그라데이션 배경과 투명한 textarea 스타일을 정의하여 시각적으로 돋보이게 만들었습니다.
  • oninput="inputFn()": textarea에 입력이 발생할 때마다 inputFn() 함수가 호출됩니다.
  • JavaScript 함수: querySelector()로 textarea를 선택한 뒤, 배경색을 반투명 흰색(#ffffff36)으로 변경합니다.

실행 결과

위 코드를 브라우저에서 실행하면 다음과 같은 화면이 나타납니다.

HTML oninput 이벤트 속성 완벽 정리 – 문법부터 실전 예제까지

이제 텍스트 영역에 직접 메시지를 입력해 보세요. 첫 글자를 입력하는 순간 oninput 이벤트가 트리거되어 textarea의 배경색이 아래와 같이 변경되는 것을 확인할 수 있습니다.

HTML oninput 이벤트 속성 완벽 정리 – 문법부터 실전 예제까지

정리

oninput 이벤트 속성은 사용자의 입력을 실시간으로 감지할 수 있는 강력한 도구입니다. onchange 이벤트가 포커스가 벗어난 후에만 발생하는 것과 달리, oninput은 입력되는 모든 순간에 반응하기 때문에 더욱 즉각적인 사용자 경험을 제공합니다. 폼 유효성 검사, 실시간 미리보기, 자동 저장 기능 등을 구현할 때 적극적으로 활용해 보세요.