HTML/ input 태그 속성


text

  • 한 줄 짜리 텍스트 입력 필드
<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>

password

  • 비밀번호 입력 필드
<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>

submit

  • form-handler로 form 데이터를 전송할 때 사용하는 버튼

  • form-handler는 입력 데이터를 처리하는 서버 페이지

  • form 태그의 action 속성으로 form-handler 지정

<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>

reset

  • 초기화 버튼

  • 클릭시 form 내 input 태그들의 값이 default 값으로 초기화된다.

<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"> <input type="reset"> </form>

radio

  • radio 버튼

  • 선택지 중 한 개만 선택 가능

<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>

checkbox

  • 선택지 중 0개 이상의 옵션을 선택 가능한 체크박스
<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>

button

  • 일반적인 버튼
<input type="button" onclick="alert('Hello World!')" value="Click Me!" />

color

  • 색을 선택하는 입력 필드

  • 브라우저마다 지원하지 않을 수도 있다.

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

date

  • 날짜를 선택하는 입력 필드

  • 브라우저마다 지원하지 않을 수도 있다.

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

datetile-local

  • 날짜와 시간을 입력하는 필드

  • 브라우저마다 지원하지 않을 수도 있다.

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

email

  • e-mail 주소를 입력하는 필드

  • 브라우저마다 제출시 이메일 주소가 자동으로 유효성 검사를 하기도 한다.

  • 스마트폰 환경일 경우 키보드에 .com 버튼이 표시되기도 한다.

<form> <label for="email">Enter your email:</label> <input type="email" id="email" name="email" /> </form>

image

  • 전송 버튼으로 이미지를 사용하도록 한다.

  • src 속성으로 이미지를 지정한다.

<form> <input type="image" src="img_submit.gif" alt="Submit" width="48" height="48" /> </form>

file

  • 파일 선택 필드
<form> <label for="myfile">Select a file:</label> <input type="file" id="myfile" name="myfile" /> </form>

hidden

  • 사용자에게 보이지 않는 숨겨진 필드이다.

  • 웹 개발자들이 유저에게 보이지 않는 데이터를 서버로 전송하도록 할 때 사용한다.

  • 유저에게 보이지 않는다고 해도 브라우저의 view source 기능을 사용하면 볼 수 있기 때문에 보안 기능으로는 사용하면 안된다.

  • form 데이터를 전송할 때 업데이트 되어야 하는 데이터베이스 레코드를 저장하기도 한다.

<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>

month

  • 년도와 월을 선택하는 필드

  • 브라우저마다 지원하지 않을 수도 있다.

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

number

  • 숫자 입력 필드

  • 숫자만 입력하도록 제한한다.

  • min과 max 속성으로 범위를 제한할 수 있다.

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

input 제약 사항

  • 아래의 속성들로 input의 입력 데이터에 제약을 걸 수 있다.
속성설명
checked체크박스나 라디오 버튼 같은 필드를 미리 페이지 로드시 미리 선택되도록 한다.
disabledinput 필드를 비활성화
max입력의 최대값
maxlength입력의 최대 글자 수
min입력의 최소값
pattern입력 값이 해당 정규 표현에 맞는지 확인
readonly읽기 전용
size입력의 길이
step숫자 입력 간격
valuedefault 값
<form> <label for="quantity">Quantity:</label> <input type="number" id="quantity" name="quantity" min="0" max="100" step="10" value="30" /> // 최소 값은 0, 최대 값은 100, 기본 값은 30, 10의 배수만 입력 가능 </form>

range

  • 정확한 값이 별로 중요하지 않을 때 사용

  • 범위와 간격 지정 가능

  • 슬라이더 컨트롤러로 표시된다.

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

search

  • 검색 필드 (일반 text 필드처럼 동작)
<form> <label for="gsearch">Search Google:</label> <input type="search" id="gsearch" name="gsearch" /> </form>

tel

  • 전화번호 입력 필드
<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>

time

  • 시간 입력 필드

  • 브라우저에 따라 다르게 표시된다.

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

url

  • url 주소 입력 필드

  • 브라우저에 따라 유효성 검사를 하기도 한다.

  • 스마트폰 환경에서 키보드에 .com 버튼을 표시하기도 한다.

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

week

  • 년도와 몇 번째 주인지 입력하는 필드

  • 브라우저에 따라 다르게 표시된다.

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