코밍이의 하루

[HTML5] <input> 태그의 다양한 속성 본문

웹언어 공부/HTML5

[HTML5] <input> 태그의 다양한 속성

코밍이 2021. 8. 26. 08:46

1. 개발 환경

구분 내용
사용 언어 HTML5, CSS3
개발환경 Visual Studio Code
참고 도서 [Do it] HTML5 + CSS3 웹 표준의 정석
웹브라우저 Chrome

 

2. 주요 문법

1) <input> 태그의 다양한 속성

유형 설명
autofocus 페이지를 불러오자마자 폼의 요소 중에서 원하는 요소에 마우스 커서 표시
placeholder - 사용자가 텍스트를 입력할 때 도움이 되도록 입력란에 힌트 내용 표시할 수 있음
- 해당 필드를 클릭하면 힌트 내용이 사라지게 할 수 있음
redonly 해당 필드를 읽기 전용으로 바꿈(입력 불가)
required 필수 필드 지정
min 해당 필드의 최솟값 지정(value값)
max 해당 필드의 최댓값 지정(value값)
step 허용된 범위 내의 숫자의 일정한 간격
size 한 줄짜리 텍스트와 관련된 필드에서 화면에 몇 글자까지 보이게 할지 지정
minlength 사용자가 최대 몇 글자까지 입력할 수 있는지 지정
maxlength 사용자가 최소 몇 글자 이상을 입력해야 하는지 지정
formaction - 실행할 프로그래 연결
- type="submit"이나 type="image"일 때 사용
formenctype - 서버로 폼을 전송했을 때 폼 데이터를 어떤 방식으로 해석할 것인지 지정
- type="submit"이나 type="image"일 때 사용
formmethod - 서버로 폼을 전송하는 방식(get, post 등)을 지정
- 이미 <form> 태그 안에서 지정한 방식이 있어도 그 방식은 무시
formnovalidate - <form> 태그 안에 novalidate라는 속성이 있어서 서버로 전송할 때 폼 데이터가 유효한지 여부를 표시할 수 있는데 <input> 태그 안에서도 formnovalidate 속성을 이용해 유효성 여부를 표시할 수 있음
formtarget 폼 데이터를 서버로 전송한 후 서버의 응답을 어디에 표시할 것인지 타깃 지정
height,width type="image"일 때 이미지의 너비와 높이 지정
list <datalist>에 미리 정의해 놓은 옵션 값을 <input>안에 나열해 보여줌
multiple - type="email"이나 type="file"일 때 두 개 이상의 값 입력
- <input> 태그 안에 속성 이름만 표시

 

3. 소스 코드 및 실행 화면

- attribute.html

<!doctype html>
<html lang="ko">
  <head>
		 <title> 웹 폼</title>
		 <meta charset="utf-8">
     <style>
				body {
					background-color:#fff; 
				}
				form fieldset{
					margin-bottom:25px; 
				}
				form legend{
					font-size:15px;
					font-weight:600; 
				}
				form label.reg {
					font-size:14px;
					width:110px;
					color:#390;
					font-weight:bold;		
					float:left;
					text-align:right;
					margin-right:10px;
				}
				form ul li{
					list-style:none; 
					margin: 15px 0;	
					font-size:14px;	
				} 

				#member, #stuffs {
					width:50px; 
				}
	 		</style>
  </head>
  <body>
    <h1> 여름방학 특강 신청</h1>
  	<form>
  		<fieldset id="subject">
  			<legend>수강과목</legend>
  			<ul>
  				<li>
  					<label class="reg" for="subj">영어회화(초급)</label>
  					<input type="text" id="subj" value="오전 9:00~11:00" readonly>
  				</li>
  			</ul>
  		</fieldset>
  		<fieldset id="register">
  			<legend> 신청자</legend>
  			<ul>
  				<li>
  					<label class="reg" for="uname">이름</label>
  					<input type="text" id="uname" autofocus required>
  				</li>
  				<li>
  					<label class="reg" for="uid">학번</label>
  					<input type="text" id="uid" placeholder="하이픈없이 입력" 
					  maxlength="8" required>
  				</li>
  				<li>
  					<label class="reg" for="uclass">학과</label>
  					<select id="uclass">
  						<option value="archi">건축공학과</option>
  						<option value="mechanic">기계공학과</option>
  						<option value="indust">산업공학과</option>
  						<option value="elec">전기전자공학과</option>
  						<option value="computer" selected>컴퓨터공학과</option>
  						<option value="chemical">화학공학과</option>
  					</select>
  				</li>
  			</ul>
  		</fieldset>
  		<fieldset>
  			<legend>교재 주문</legend>
  			<ul>
  				<li>
  					<label class="reg" for="book">교재</label>
  					<input type="number" id="book" value="1" min="1" max="3">
  				</li>
  				<li>
  					<label class="reg" for="wsheet">워크시트</label>
  					<input type="number" id="wsheet" value="1" min="1" max="3">
  				</li>
  				<li>
  					<label class="reg" for="group">단체주문</label>
  					<input type="number" id="group" value="10" min="10" max="100" step="10">
  				</li>
  			</ul>
  		</fieldset>
  		<fieldset>
  			<button type="submit" value="submit">신청하기</button>
  			<button type="reset" value="reset">다시쓰기</button>
  		</fieldset>


  	</form>
  </body>
</html>

 

attribute.html

- join.html

<!doctype html>

<html lang="ko">	
  <head>
		<meta charset="utf-8">
		<title> 웹 폼</title>
    <style>
			ul {
				list-style:none;
			}
			li {
				margin:10px;
			}
	 </style>
  </head>
  <body>
		<h1>회원 가입을 환영합니다</h1>
		<form>
			<ul>
    		<li><label>아이디: <input type="text" id="user_id" size="10" minlength="4" maxlength="15"></label><small style="color:red;"> 4~15자리 이내의 영문과 숫자</small></li>
				<li><label>이메일: <input type="email" id="user_email"></label></li>
				<li><label>비밀번호: <input type="password" id="user_pwd"></label></li>
				<li><label>비밀번호 확인: <input type="password" id="check_pwd"></label></li>
				<li><input type="submit" value="회원가입"></li>
			</ul>
  </form>
  </body>
</html>

join.html