HTML

Form tag

lshjju 2026. 2. 18. 22:18

사용자가 실제로 데이터를 입력하고 화면에서 보게 될 **폼 구성 요소(Form Elements)**들에 대해 알아보겠습니다.

이 태그들은 입력창을 그룹화하거나, 긴 글을 입력받고, 목록에서 선택하는 등 다양한 사용자 경험을 설계하는 데 사용됩니다.


1. 구조를 잡는 태그: <fieldset> & <legend>

많은 입력 항목이 있을 때, 이를 논리적으로 묶어주는 역할을 합니다.

  • <fieldset>: 관련된 입력 요소들을 하나의 그룹으로 묶고 테두리를 그립니다.
  • <legend>: <fieldset>으로 묶은 그룹에 제목을 붙여줍니다.

2. 이름표와 긴 글 상자: <label> & <textarea>

  • <label>: 입력 요소에 설명(이름표)을 붙입니다. for 속성을 입력창의 id와 연결하면, 라벨을 클릭했을 때 해당 입력창으로 포커스가 이동하여 편리합니다.
  • <textarea>: 한 줄 이상의 긴 문장을 입력받을 때 사용합니다. rows와 cols 속성으로 초기 크기를 조절할 수 있습니다.

3. 선택 목록: <select> & <option>

여러 가지 선택지 중 하나(또는 여러 개)를 고를 때 사용하는 드롭다운 목록입니다.

  • <select>: 선택 목록의 전체 틀을 만듭니다.
  • <option>: 목록 안에 들어갈 각각의 선택 항목입니다. value 속성은 서버로 전송될 실제 값을 의미합니다.

4. 실행 버튼: <button>

클릭할 수 있는 버튼을 만듭니다. <input type="submit">과 비슷하지만, 태그 안에 아이콘이나 다른 태그를 넣을 수 있어 디자인 자유도가 훨씬 높습니다.

  • type="submit": 폼 데이터를 서버로 전송합니다. (기본값)
  • type="reset": 폼에 입력된 내용을 모두 초기화합니다.
  • type="button": 기본 동작은 없으며 주로 자바스크립트 함수를 실행할 때 씁니다.

🖥️ 실전 예제 코드: "상세 문의 폼"

모든 키워드를 활용하여 완성도 있는 문의 폼을 구성해 보겠습니다.

HTML
 
<form action="/submit-inquiry" method="post">
  <fieldset>
    <legend>문의 내용 작성</legend>

    <label for="category">문의 유형:</label>
    <select id="category" name="category">
      <option value="tech">기술 지원</option>
      <option value="billing">결제 관련</option>
      <option value="etc" selected>기타</option>
    </select>
    <br><br>

    <label for="message">상세 내용:</label><br>
    <textarea id="message" name="message" rows="5" cols="30" placeholder="내용을 입력해 주세요."></textarea>
    <br><br>

    <button type="submit">문의하기</button>
    <button type="reset">다시 쓰기</button>
  </fieldset>
</form>

📋 키워드별 핵심 요약표

태그 역할 주요 속성
<label> 입력창 설명 및 연결 for (ID와 연결)
<textarea> 여러 줄 텍스트 입력 rows, cols
<button> 클릭 가능한 버튼 type (submit, reset, button)
<select> 드롭다운 목록 시작 name
<option> 목록의 개별 항목 value, selected
<fieldset> 입력 요소 그룹화 (테두리 생성)
<legend> 그룹의 제목 정의 (fieldset 내부 최상단)

학습 정리

  • **<label>**은 사용자의 클릭 편의성과 웹 접근성을 위해 반드시 사용하는 것이 좋다.
  • **<textarea>**는 닫는 태그(</textarea>) 사이에 내용을 적으면 초기값으로 표시된다.
  • **<select>**에서 특정 항목을 미리 선택해두고 싶다면 해당 **<option>**에 selected 속성을 추가한다.

정교한 사용자 인터페이스를 만드는 폼 태그의 구성 요소들까지 완벽히 마스터하셨습니다!


'HTML' 카테고리의 다른 글

List tag  (0) 2026.02.18
Text tag  (0) 2026.02.18
Input tag property  (0) 2026.02.18
Input tag type  (0) 2026.02.18
Form default property  (0) 2026.02.18