jiraynor’s 하루 2시간 프로그래밍 - HTML 38. 인풋 타입 (Input Types) 영상 보러가기

HTML 인풋 타입

HTML 인풋 타입

다음은 HTML에서 사용할 수 있는 다양한 입력 유형입니다.

  • <input type="button">
  • <input type="checkbox">
  • <input type="color">
  • <input type="date">
  • <input type="datetime-local">
  • <input type="email">
  • <input type="file">
  • <input type="hidden">
  • <input type="image">
  • <input type="month">
  • <input type="number">
  • <input type="password">
  • <input type="radio">
  • <input type="range">
  • <input type="reset">
  • <input type="search">
  • <input type="submit">
  • <input type="tel">
  • <input type="text">
  • <input type="time">
  • <input type="url">
  • <input type="week">

Tip: type 속성의 기본값은 “text”입니다.

input type 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 코드가 브라우저에 표시되는 방법은 다음과 같습니다




input type password

<input type="password">비밀번호 필드를 정의합니다.

예제 2
<form>
  <label for="username">Username:</label><br>
  <input type="text" id="username" name="username"><br>
  <label for="pwd">Password:</label><br>
  <input type="password" id="pwd" name="pwd">
</form>

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




암호 필드의 문자는 마스킹됩니다(별표 또는 원으로 표시됨).

input type submit

<input type="submit">은 폼 데이터를 폼 핸들러제출하기 위한 버튼을 정의합니다.

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

폼 핸들러는 폼의 action 속성에 지정되어 있습니다.

예제 3
<form action="/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 코드가 브라우저에 표시되는 방법입니다.






submit 버튼의 값 속성을 생략하면 버튼에 기본 텍스트가 표시됩니다.

예제 4
<form action="/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">
</form>

input type reset

<input type="reset">은 모든 폼 값을 기본값으로 리셋하는 리셋버튼을 정의합니다.

예제 5
<form action="/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">
  <input type="reset">
</form>

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






입력값을 변경한 후 “Reset” 버튼을 클릭하면 폼 데이터가 기본값으로 재설정됩니다.

input type radio

<input type="radio">라디오 버튼을 정의합니다.

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

예제 6
<p>Choose your favorite Web language:</p>

<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 코드가 브라우저에 표시되는 방법은 다음과 같습니다.

Choose your favorite Web language:



input type checkbox

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

이 확인란을 사용하면 사용자가 제한된 수의 선택 항목 중 0개 또는 여러 개의 옵션을 선택할 수 있습니다.

예제 7
<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 button

<input type="button">버튼을 정의합니다.

예제 8
<input type="button" onclick="alert('Hello World!')" value="Click Me!">

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

input type color

<input type="color">는 색상을 포함해야 하는 입력 필드에 사용됩니다.

브라우저 지원에 따라 색상 선택기가 입력 필드에 표시될 수 있습니다.

예제 9
<form>
  <label for="favcolor">Select your favorite color:</label>
  <input type="color" id="favcolor" name="favcolor">
</form>

input type date

<input type="date">는 날짜를 포함해야 하는 입력 필드에 사용됩니다.

브라우저 지원에 따라 달력 선택기가 입력 필드에 표시될 수 있습니다.

예제 10
<form>
  <label for="birthday">Birthday:</label>
  <input type="date" id="birthday" name="birthday">
</form>

minmax 속성을 사용하여 날짜에 제한을 추가할 수도 있습니다.

예제 11
<form>
  <label for="datemax">Enter a date before 1980-01-01:</label>
  <input type="date" id="datemax" name="datemax" max="1979-12-31"><br><br>
  <label for="datemin">Enter a date after 2000-01-01:</label>
  <input type="date" id="datemin" name="datemin" min="2000-01-02">
</form>

input type datetime-local

<input type="datetime-local">은 날짜 및 시간 입력 필드를 지정합니다. 시간대는 지정하지 않습니다.

브라우저 지원에 따라 달력 선택기가 입력 필드에 표시될 수 있습니다.

예제 12
<form>
  <label for="birthdaytime">Birthday (date and time):</label>
  <input type="datetime-local" id="birthdaytime" name="birthdaytime">
</form>

input type email

<input type="email">은 전자 메일 주소를 포함할 필요가 있는 입력 필드에 사용됩니다.

브라우저 지원에 따라서는, 송신시에 전자 메일 주소를 자동적으로 검증할 수 있습니다.

일부 스마트폰은 이메일 유형을 인식하고 이메일 입력과 일치하도록 키보드에 “.com”을 추가합니다.

예제 13
<form>
  <label for="myfile">Select a file:</label>
  <input type="file" id="myfile" name="myfile">
</form>

input type hidden

<input type="hidden">은 숨겨진 입력 필드(사용자에게는 표시되지 않음)를 정의합니다.

숨김 필드를 통해 웹 개발자는 양식을 제출할 때 사용자가 보거나 수정할 수 없는 데이터를 포함할 수 있습니다.

숨김 필드는 양식을 제출할 때 업데이트해야 하는 데이터베이스 레코드를 저장하는 경우가 많습니다.

이 값은 페이지 내용에서 사용자에게 표시되지 않지만 브라우저의 개발자 도구 또는 “소스 보기” 기능을 사용하여 볼 수 있으며 편집할 수 있습니다. 숨겨진 입력을 보안의 형태로 사용하지 마십시오.

예제 14
<form>
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <input type="hidden" id="custId" name="custId" value="3487">
  <input type="submit" value="Submit">
</form>

input type month

<input type="month">에서는 월과 연도를 선택할 수 있습니다.

브라우저 지원에 따라 달력 선택기가 입력 필드에 표시될 수 있습니다.

예제 15
<form>
  <label for="bdaymonth">Birthday (month and year):</label>
  <input type="month" id="bdaymonth" name="bdaymonth">
</form>

input type number

<input type="number">는 숫자 입력 필드를 정의합니다.

허가되는 번호에 제한을 설정할 수도 있습니다.

다음 예제에서는 1 ~5 의 값을 입력할 수 있는 숫자 입력 필드를 표시합니다.

예제 16
<form>
  <label for="quantity">Quantity (between 1 and 5):</label>
  <input type="number" id="quantity" name="quantity" min="1" max="5">
</form>

input 제한

다음은 일반적인 입력 제한 사항 목록입니다.

속성 설명
checked 페이지가 로드될 때 입력 필드를 미리 선택하도록 지정합니다(type=”checkbox” 또는 type=”radio”의 경우).
disabled 입력 필드를 비활성화하도록 지정합니다.
max 입력 필드의 최대값을 지정합니다.
maxlength 입력 필드의 최대 문자 수를 지정합니다.
min 입력 필드의 최소값을 지정합니다.
pattern 입력 값을 확인할 정규 표현을 지정합니다.
readonly 입력 필드를 읽기 전용으로 지정합니다(변경할 수 없음).
required 입력 필드를 입력해야 함을 지정합니다(필수 입력).
size 입력 필드의 너비(문자 단위)를 지정합니다.
step 입력 필드의 올바른 번호 간격을 지정합니다.
value 입력 필드의 기본값을 지정합니다.

다음은 숫자 입력 필드를 표시하는 예를 나타냅니다. 이 필드에서는 0 ~100 의 값을 10 의 순서로 입력할 수 있습니다. 기본값은 30 입니다.

예제 17
<form>
  <label for="quantity">Quantity:</label>
  <input type="number" id="quantity" name="quantity" min="0" max="100" step="10" value="30">
</form>

input type range

<input type="range">는 정확한 값이 중요하지 않은 숫자(슬라이더 컨트롤 등)를 입력하기 위한 컨트롤을 정의합니다. 기본 범위는 0 ~100 입니다. 단, min, maxstep 속성을 사용하여 허용되는 숫자에 대한 제한을 설정할 수 있습니다.

예제 18
<form>
  <label for="vol">Volume (between 0 and 50):</label>
  <input type="range" id="vol" name="vol" min="0" max="50">
</form>

<input type="search">는 검색 필드에 사용됩니다(검색 필드는 일반 텍스트 필드처럼 작동합니다).

예제 20
<form>
  <label for="gsearch">Search Google:</label>
  <input type="search" id="gsearch" name="gsearch">
</form>

input type tel

<input type="tel">은 전화번호를 포함해야 하는 입력 필드에 사용됩니다.

예제 21
<form>
  <label for="phone">Enter your phone number:</label>
  <input type="tel" id="phone" name="phone" pattern="[0-9]{3}-[0-9]{2}-[0-9]{3}">
</form>

input type time

<input type="time">을 사용하면 사용자가 시간(타임존 없음)을 선택할 수 있습니다.

브라우저 지원에 따라 시간 선택기가 입력 필드에 표시될 수 있습니다.

예제 22
<form>
  <label for="appt">Select a time:</label>
  <input type="time" id="appt" name="appt">
</form>

input type url

<input type="url">은 URL 주소를 포함해야 하는 입력 필드에 사용됩니다.

브라우저 지원에 따라 url 필드는 전송 시 자동으로 검증될 수 있습니다.

일부 스마트폰은 URL 유형을 인식하여 키보드에 .com을 추가하여 URL 입력과 일치시킵니다.

예제 23
<form>
  <label for="homepage">Add your homepage:</label>
  <input type="url" id="homepage" name="homepage">
</form>

input type week

<input type="week"> 를 사용하면 사용자는 요일과 연도를 선택할 수 있습니다.

브라우저 지원에 따라 달력 선택기가 입력 필드에 표시될 수 있습니다.

예제 24
<form>
  <label for="week">Select a week:</label>
  <input type="week" id="week" name="week">
</form>