output element - by. UXKM

요약 설명

<output> 요소는 사용자 입력이나 스크립트 계산 결과 등 동적으로 생성된 값을 화면에 표시할 때 사용하는 시맨틱 태그입니다.
주로 <input>, <select>, <button> 등의 폼 요소와 함께 사용되며, 계산기나 실시간 계산 결과, 선택에 따른 표시 값 등을 보여주는 데 적합합니다. for 속성을 사용하면 연관된 폼 요소들과의 관계를 명시할 수 있으며, 시각적으로는 일반 텍스트와 유사하지만 의미적으로 결과값이라는 역할을 명확히 표현해줍니다.
접근성과 구조적인 의미 전달을 위해 결과 표시가 필요한 경우에 유용합니다.

주요 역할 및 특징

  1. 계산 결과 또는 스크립트 처리 결과를 사용자에게 표시

    사용자 입력에 따라 결과를 실시간으로 표시하는 영역으로 사용됩니다.

  2. 주로 JavaScript와 함께 사용됨

    <output> 자체만으로 값을 표시하는 기능은 없으며, JavaScript를 통해 값을 변경해야 합니다.

  3. for 속성을 사용하여 관련 입력 요소 지정 가능

    for 속성을 사용하면 특정 <input> 요소와 연결하여 해당 요소의 계산 결과를 출력할 수 있습니다.

  4. 일반적으로 form 요소 내부에서 사용됨

    <form> 내부에서 사용하면 name 속성을 지정하여 서버로 값을 전송할 수도 있습니다.

CSS 기본 값

<output> 요소는 기본적으로 인라인 레벨 요소이며, 별도의 CSS를 지정하지 않아도 아래와 같은 기본값이 적용됩니다.

기본 문법

속성

<output> 속성 요약

  • 속성명
  • 설명
  • for

    결과가 연결될 입력 요소들의 ID 목록 지정

  • name

    서버에 전송될 때 사용될 키 이름

  • form

    <form> 밖에 있을 때 특정 폼과 연결

[for] 선택 사항 <output for="값">

<output> 요소가 참조하는 입력 필드(<input>, <textarea>, <select> 등)의 id 값을 지정합니다.
for 속성을 통해 특정 입력 필드와 연결하여 연산 결과나 동적인 값을 표시할 수 있습니다.

[name] 선택 사항 <output name="값">

<output> 요소의 이름을 설정하여, 폼 데이터로 전송될 때 식별할 수 있도록 합니다.
같은 폼 내에서 다른 출력 요소들과 구별하는 용도로 사용됩니다.

[form] 선택 사항 <output form="form 요소의 id">

<output> 요소의 form 속성에 <form> 요소의 id와 같은 값을 지정하여, <output> 요소가 <form> 요소 내부에 없더라도 <form>의 데이터로 제출되도록 설정할 수 있습니다.

예제

text, password 타입과 연계하여 출력

(Full screen) 버튼을 클릭하여 전체 화면으로 예제를 확인하세요.

checkbox, radio, file 타입과 연계하여 출력

(Full screen) 버튼을 클릭하여 전체 화면으로 예제를 확인하세요.

number, range 타입과 연계하여 출력

(Full screen) 버튼을 클릭하여 전체 화면으로 예제를 확인하세요.

date, time 타입과 연계하여 출력

(Full screen) 버튼을 클릭하여 전체 화면으로 예제를 확인하세요.

두 숫자의 합을 실시간으로 표시

(Full screen) 버튼을 클릭하여 전체 화면으로 예제를 확인하세요.

실시간 글자 수 카운터

(Full screen) 버튼을 클릭하여 전체 화면으로 예제를 확인하세요.

주의사항

  • JavaScript가 없으면 동작하지 않습니다.
    <output> 요소 자체는 기능이 없으며, JavaScript를 통해 값을 변경해야 합니다.
  • value 속성은 JavaScript로 직접 지정해야 합니다.
    <output>은 입력 필드가 아니므로 value 속성이 HTML 속성에는 존재하지 않지만 자바스크립트에서는 사용할 수 있습니다.
    JavaScript를 이용하여 output.value = 123처럼 값을 설정하는 것은 가능하지만, <output value="123">처럼 요소에 직접 value 속성을 지정해도 표시되지 않고 무시됩니다.
  • <output>은 사용자 입력 필드가 아니므로 사용자가 직접 입력할 수 없습니다. 읽기 전용이며 스크립트로만 값 변경이 가능합니다.
  • for 속성은 id와 연결되어야 하며, for 속성에 지정된 값은 id 속성과 일치해야 합니다.
    예를 들어, <input id="num1">이면 <output for="num1">로 설정해야 합니다.
  • <output> 내부에 텍스트가 없다면 초기엔 비어있습니다. 필요 시 0 또는 결과 없음 등의 초기 텍스트를 넣는 것도 좋습니다.
  • <output> 요소는 기본적으로 inline 요소이며, 브라우저에서 일반 텍스트처럼 보입니다. 강조하려면 CSS 스타일을 직접 지정해야 합니다.