jiraynor’s 하루 2시간 프로그래밍 - HTML 35. 폼 (Form) 영상 보러가기

HTML 폼

<form> 요소

HTML <form> 요소는 사용자 입력용 HTML 폼을 작성하기 위해 사용됩니다.

<form>
.
form elements
.
</form>

<form> 요소는 텍스트필드, 체크박스, 라디오 버튼, 송신 버튼 등 다양한 유형의 입력 요소를 위한 컨테이너입니다.

<input> 요소

HTML <input> 요소는 가장 많이 사용되는 폼 요소입니다.

<input> 요소는 유형 속성에 따라 다양한 방법으로 표시할 수 있습니다.

다음은 몇 가지 예입니다.

타입 설명
<input type="text" /> 한 줄 텍스트 입력 필드를 표시합니다.
<input type="radio" /> 옵션 버튼을 표시합니다(다양한 옵션 중 반드시 하나를 선택하는 경우).
<input type="checkbox" /> 체크박스를 표시합니다(다양한 선택 항목 중 0개 이상을 선택하는 경우).
<input type="submit" /> 전송 버튼을 표시합니다.
<input type="button" /> 클릭 가능한 버튼을 표시합니다.

Text 필드

<input type="text">는 텍스트 입력용 한 줄 입력 필드를 정의합니다.

예제 1 - 텍스트 입력 필드가 있는 양식
<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname">
</form>

위의 HTML 코드가 브라우저에 표시되는 방법은 다음과 같습니다.




Note: 폼 자체는 표시되지 않습니다. 입력 필드의 기본 너비는 20자입니다.

<label> 요소

위의 예에서는 <label> 요소가 사용되고 있습니다.

<label> 태그는 많은 폼 요소의 라벨을 정의합니다.

<label> 요소는 사용자가 입력 요소에 초점을 맞추면 화면 판독기가 라벨을 크게 읽기 때문에 스크린 판독기 사용자에게 유용합니다.

<label> 요소는 사용자가 <label> 요소 내의 텍스트를 클릭하면 라디오 버튼/체크박스가 전환되기 때문에 매우 작은 영역(옵션 버튼이나 체크 박스 등)을 클릭하기 어려운 사용자에게도 도움이 됩니다.

<label> 태그의 for 속성은 이들을 바인드하기 위한 <input> 요소의 id 속성과 같아야 합니다.

라디오 버튼

<input type="radio">는 옵션버튼을 정의합니다.

사용자는 라디오 버튼을 사용하여 제한된 수의 선택 항목 중 하나를 선택할 수 있습니다.

예제 2 - 옵션 버튼이 있는 폼
<form>
  <input type="radio" id="html" name="fav_language" value="HTML">
  <label for="html">HTML</label><br>
  <input type="radio" id="css" name="fav_language" value="CSS">
  <label for="css">CSS</label><br>
  <input type="radio" id="javascript" name="fav_language" value="JavaScript">
  <label for="javascript">JavaScript</label>
</form>

위의 HTML 코드가 브라우저에 표시되는 방법입니다.



체크박스

<input type="checkbox"> 는 체크박스를 정의합니다.

체크박스를 사용하면 사용자가 제한된 수의 선택 항목 중 0개 혹은 여러 개를 선택할 수 있습니다.

예제 3 - 체크박스가 있는 폼
<form>
  <input type="checkbox" id="vehicle1" name="vehicle1" value="Bike">
  <label for="vehicle1"> I have a bike</label><br>
  <input type="checkbox" id="vehicle2" name="vehicle2" value="Car">
  <label for="vehicle2"> I have a car</label><br>
  <input type="checkbox" id="vehicle3" name="vehicle3" value="Boat">
  <label for="vehicle3"> I have a boat</label>
</form>

위의 HTML 코드가 브라우저에 표시되는 방법은 다음과 같습니다.



제출 버튼

<input type="submit">은 폼 데이터를 폼에 송신하기 위한 버튼을 정의합니다.

폼 핸들러는 일반적으로 입력 데이터를 처리하는 스크립트가 있는 서버상의 파일입니다.

폼 핸들러는 폼의 action 특성에 지정됩니다.

예제 4 - 제출 버튼이 있는 폼
<form action="https://www.w3schools.com/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <input type="submit" value="Submit">
</form>

위의 HTML 코드가 브라우저에 표시되는 방법입니다.






<input>name 속성

각 입력 필드에는 송신하는 name 속성이 필요합니다.

name 속성을 생략하면 입력 필드 값이 전혀 전송되지 않습니다.

예제 5 - 다음 예제에서는 “name” 입력 필드의 값을 전송하지 않습니다.
<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" value="John"><br><br>
  <input type="submit" value="Submit">
</form>