퀴즈 1~2

1. 다음은 예약 페이지의 일부입니다. 04/quiz-1.html에는 '예약 정보'라는 제목만 표시되어 있습니다. 아래 폼 소스의 빈칸을 채우면서 04/quiz-1.html 문서에 폼을 추가하세요.

<!doctype html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>예약 접수</title>
	<style>
		ul {
			list-style:none;
		}
		li {
			line-height:50px;
		}
		label {
			width:60px;
			float:left;
		}
	</style>
</head>
<body>
	<h1>예약 정보</h1>

</body>
</html>
<!doctype html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>예약 접수</title>
	<style>
		ul {
			list-style:none;
		}
		li {
			line-height:50px;
		}
		label {
			width:60px;
			float:left;
		}
	</style>
</head>
<body>
	<h1>예약 정보</h1>
	<form>
		<ul>
			<li>
				<label for="r-name">이름</label>
				<input type="text" id="r-name">
			</li>
			<li>
				<label for="r-phone">휴대폰</label>
				<input type="text" id="r-phone">
			</li>
			<li>
				<label for="r-email">이메일</label>
				<input type="text" id="r-email">
			</li>
			<li>
			<input type="button" value="예약하기">
			</li>
		</ul>
	</form>
</body>
</html>

 

2. 04/quiz-2.html에 '프런트엔드 개발자 지원서'용 폼을 만들려고 한다. 다음 조건을 만족시키도록 <form> 태그와 </form> 태그 사이에 소스를 추가하세요.

<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>프런트엔드 개발자 지원서</title>
    <style>
			#container { 
				width:520px;
				border:1px solid black;
				padding:20px 40px;
				margin:0 auto;
			}
      fieldset { margin-bottom:15px; }
      legend { font-weight:bold; }
			ul {list-style-type: none;}
			li { line-height:30px;}
    </style>
  </head>
  <body>
		<div id="container">
			<h1>프런트엔드 개발자 지원서 </h1>
			<p>HTML, CSS, Javascript에 대한 기술적 이해와 경험이 있는 분을 찾습니다.</p>
			<hr>
			<form>
				
			</form>
		</div>
  </body>
</html>
<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>프런트엔드 개발자 지원서</title>
    <style>
			#container { 
				width:520px;
				border:1px solid black;
				padding:20px 40px;
				margin:0 auto;
			}
      fieldset { margin-bottom:15px; }
      legend { font-weight:bold; }
			ul {list-style-type: none;}
			li { line-height:30px;}
    </style>
  </head>
  <body>
		<div id="container">
			<h1>프런트엔드 개발자 지원서 </h1>
			<p>HTML, CSS, Javascript에 대한 기술적 이해와 경험이 있는 분을 찾습니다.</p>
			<hr>
			<form>
				<legend>개인정보</legend>
					<ul>
						<li>
							<label for="r-name">이름</label>
							<input type="text" id="r-name" placeholder="공백 없이 입력하세요.">
						</li>
						<li>
							<label for="r-phone">연락처</label>
							<input type="tel" id="r-phone">
						</li>
					</ul>
					<legend>지원 분야</legend>
					<ul>
						<li>
							<label><input type="radio" name="webp" value="webp">웹 퍼블리싱</label>
						</li>
						<li>
							<label><input type="radio" name="web-dev" value="web-dev">웹 애플리케이션 개발</label>
						</li>
						<li>
							<label><input type="radio" name="imp-dev" value="imp-dev">개발 환경 개선</label>
						</li>
					</ul>
					<legend>지원동기</legend><br>
						<label for="container" >
						<p><textarea name="" cols="60" rows="5" placeholder="본사 지원 동기를 간략히 써 주세요." ></textarea></p>
						<button>접수하기</button>
						<button>다시쓰기</button>
			</form>
		</div>
  </body>
</html>

'HTML > 폼 관련 태그들' 카테고리의 다른 글

폼 만들기  (0) 2021.08.05

폼은 사용자의 의견이나 정보를 알기 위해 폼을 사용하는 경우가 많습니다.

기본형 설명
<form [속성="속성 값"]>
여러 폼 요소 </form>
정보 저장, 검색, 수정
대부분의 작업은 정보를 저장하거나 검색, 수정하는 일인데 이런 작업은 모두 데이터베이스를 기반으로 합니다.
폼에 입력한 사용자 정보를 처리하는 것은 ASP나 PHP, JSP같은 서버 프로그래밍을 이용합니다.
<label [속성="속성 값"]>  레이블 <input ...>
</label>

<label for="id이름">레이블</label>
<input id="이름" [속성="속성값"]>
폼 요소에 레이블 붙임
입력 창 옆에 아이디나 비밀번호처럼 붙여놓은 레이블을 만들 때 사용한다.
<fieldset [속성="속성 값"]> ... </fieldset> 폼 요소 묶기
사용자가 정보를 입력하기에도 편리하고 화면도 깔끔하게 정리가 가능하다. 이렇게 하나의 폼 안에서 여러 구역을 나누어 표시하려고 할 때 <fieldset>,<legend>항목을 사용한다.

 

속성 설명
method 사용자가 입력한 내용들을 서버 쪽 프로그램으로 어떻게 넘겨줄지 지정합니다.
속성 값 get - 주소 표시줄에 사용자가 입력한 내용이 그대로 드러납니다. 256byte~4096byte까지의 데이터만 서버로 넘길 수 있습니다. 웹에서 주로 이 방식을 사용한다.
post - 입력 내용의 길이에 제한을 받지 않고 사용자가 입력한 내용이 드러나지 않습니다.
name 폼의 이름을 지정합니다. 한 문서 안에 여러 개의 <form>태그가 있을 경우, 폼들을 구분하기 위해 사용합니다.
action <form>태그 안의 내용들을 처리해 줄 서버 상의 프로그램을 지정합니다.
target action 속성에서 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에 열도록 지정합니다.
autocomplete 이전에 입력했던 내용이 힌트로 표시되게 한다.<form action="register.php" autocomplete="off">
...... </form> 같은 형태로 사용한다.

 

 

 

 

사용자 입력을 위한 <input> 태그

이메일 주소, 전화번호, 날짜, 시간, 이미지, 버튼 등 사용자가 입력할 부분을 넣기 위해 사용한다.

기본형 설명
<input type="유형" [속성="속성 값"]> 사용자가 입력한 내용을 서버에서 받을 때 사용한다.
<input type="hidden" name="이름" value="서버로 넘길 값"> 히든 필드는 화면상의 폼에는 보이지 않는 값을 입력받는다.
<input type="text" [속성="속성 값"]> 한 줄짜리 일반 텍스트를 입력하는 필드입니다.
<input type="password" [속성="속성 값"]> 사용자가 입력하는 내용을 *같은 문장으로 바꿔준다.
<input type="search" [속성="속성 값"]> search검색상자를 만들 때 사용되는 타입입니다.
<input type="url" [속성="속성 값"]> 웹 주소도 텍스트 필드에서 분화되어 type으로 별도로 지정됩니다.
이것으로 url입력란을 만들 수 있습니다.
<input type="email" [속성="속성 값"]> 메일주소를 입력받을 수 있다.
<input type="tel" [속성="속성 값"]> 전화번호 입력란을 만들 수 있다.
<input type="text" id=[속성="속성 값"]> 자주 사용하는 값을 지정한다.

 

type에서 사용할 수 있는 유형 값

유형 설명
hidden 사용자에게는 보이지 않지만 서버로 념겨지는 값을 가집니다.
text 한 줄짜리 텍스트를 입력할 수 있는 텍스트 상자를 넣습니다.
search 검색 상자를 넣습니다.
tel 전화번호 입력 필드를 넣습니다.
url URL 주소를 입력할 수 있는 필드를 넣습니다.
email 메일 주소를 입력할 수 있는 필드를 넣습니다.
password 비밀번호를 입력할 수 있는 필드를 넣습니다.
datetime 국제 표준시(UTC)로 설정된 날짜와 시간(연, 월, 일, 시, 분, 초, 분할 초)를 넣습니다.
datetime-local 사용자가 있는 지역을 기준으로 날짜와 시간(연, 월, 일, 시, 분, 초, 분할 초)을 넣습니다.
date 사용자가 지역을 기준으로 날짜(연, 월)를 넣습니다.
month 사용자 지역을 기준으로 날짜(연, 월)를 넣습니다.
week 사용자 지역을 기준으로 날짜(연, 주)
time 사용자 지역을 기준으로 시간(시, 분, 초, 분할, 초)을 넣습니다.
number 숫자를 조 절할 수 있는 화살표를 넣습니다.
range 숫자를 조절할 수 있는 화살표를 넣습니다.
color 색상 표를 넣습니다.
checkbox 주어진 항목에서 2개 이상 선택 가능한 체크박스를 넣습니다.
radio 주어진 항목에서 1개만 선택할 수 있는 라디오 버튼을 넣습니다.
file 파일을 첨부할 수 있는 버튼을 넣습니다.
submit 서버 전송 버튼을 넣습니다.
image submit 버튼 댓니 사용할 이미지를 넣습니다.
reset 리셋 버튼을 넣습니다.
button 버튼을 넣습니다.

 

 

input의 텍스트 필드에서 사용할 수 있는 속성

속성 설명
name 텍스트 필드를 구별할 수 있도록 이름을 붙입니다.
size 텍스트 필드의 길이를 지정합니다. 즉 화면에 몇 글자가 보이도록 할 것인지를 지정합니다.
예를 들어 최대 입력 가능한 글자 수가 10개인데 size를 5로 지정하면 텍스트 필드 크기가 5개인 크기에 맞추어져 나머지 5개 글자는 화면에 보이지 않습니다.
value 텍스트 필드 요소가 화면에 표시될 때 텍스트 필드 부분에 표시될 내용입니다. 이 속성을 사용하지 않으면 빈 텍스트 필드가 표시됩니다.
maxlength 텍스트 필드에 입력할 수 잇는 최대 문자 개수를 지정합니다.

 

 

 

날짜나 시간과 관련된 유형을 지정할 때 공통으로 사용하는 속성

속성 설명
min 날짜나 시간의 최솟값을 지정합니다.
max 날짜나 시간의 최댓값을 지정합니다.
step 스핀 박스의 화살표를 누를 때마다 날짜나 시간을 얼마나 조절할지를 지정합니다.
value 화면에 표시할 초기값을 지정합니다.

 

 

 

<input> 태그의 다양한 속성

기본값 설명
<input type="text" id="uname" autofocus required> 오토 포커스 속성을 사용하면 페이지를 불러오자마자 폼이ㅡ 원하는 요소에 마우스 커서를표시할 수 있습니다.
<input type="text" id="uid" placeholder="하이픈없이 입력"> 사용자가 텍스트를 입력할 때 도움이 되도록 입력란에는 적당한 힌트내용을 표시하고있다가 그 필드를 클릭하면사라지도록 만들 수 있는 속성
<label class="reg" for="uid">학번</label>
<input type="text" id="subj" value="오전 9:00~11:00" readonly>
입력란에 텍스트를 표시하는 것을 넘어 사용자가 입력하지 못하고 읽게만 만들 수 있는 속성
<label class="reg" for="uname">이름</label>
<intput type="text" id="uname" autofocus required>
필드에 텍스트가 없을 경우 오류 메세지를 표시하는 속성
<label class="reg" for="group">단체주문</label>
<input type="number" id="group" value="10" min="10" max="100" step="10">
min 속성과 max속성은 각각 해당 필드의 최솟값과 최댓값을 지정합니다.
<label>아이디:<input type="text" id="user_id" size="10" minlength="4" maxlength="15"></label><small style="color:red;"> size 속성은 텍스트 필드와 비밀번호 필드, 검색 필드 등 한 줄짜리 텍스트와 관련된 필드에서 화면에 몇 글자까지 보이게 할지 지정하고 maxlength 속성은 사용자가 최대 몇 글자까지 하는지 지정합니다.

 

 

이외에도 <input> 태그에서 사용할 수 있는 속성들은 다음과 같습니다.

속성 설명
formaction 실행할 프로그램을 연결한다. type="submit"이나 type="image"일 때 사용할 수 있습니다.
formentype 서버로 폼을 전송했을 때 폼 데이터를 어떤 방식으로 해석할 것인지 지정합니다. type="submit"이나 type="image"일 때 사용할 수 있습니다.
formmethod 서버로 폼을 전송하는 방식(get, post 등)을 지정합니다. 이미 <form>태그 안에서 지정한 방식이 있어도 그 방식은 무시됩니다.
formnovalidate <form> 태그 안에 novalidate 라는 속성이 있어서 서버로 전송할 때 폼 데이터가 유효(validate)한지 여부를 표시할 수 있는데 <input> 태그 안에서도 formnovalidate 속성을 이용해 유효성 여부를 표시할 수 있습니다.
formtarget 폼 데이터를 서버로 전송한 후 서버의 응답을 어디에 표시할 것인지 타깃을 지정합니다.
height, width type="image"일 때 이미지의 너비와 높이를 지정합니다.
list <datalist>에 미리 정의해 놓은 옵션 값을 <input> 안에 나열해 보여 줍니다. 
multiple type="email"이나 type="file"일 때 두 개 이상의 값을 입력합니다. <input> 태그 안에 속성 이름만 표시하면 됩니다.

 

 

여러 데이터 나열해 보여 주기

기본형 설명
<select 속성="속성 값">
    <option value="값" [속성="속성 값"]> 내용1 </option>
    <option value="값" [속성="속성 값"]> 내용2 </option>
    ...
    <optgroup label="다른 묶음">
        <option value="속성"></option>
    </optgroup>
</select>
<select>, <optgroup>, <option>
드롭다운 목록 만들기
<optgroup label>
라벨 그룹 나누기

 

<select> 태그의 속성

속성 설명
size 화면에 표시될 드롭다운 메뉴의 항목 개수를 지정한비다.
-크롬은 +1개 표시됨
multiple 브라우저 화면에 여러 개의 옵션이 함께 표시되면서 ctrl키를 누를 상태로 드롭다운 메뉴에 있는 여러 항목을 선택할 수 있습니다.

 

<option> 태그의 속성

속성 설명
value 옵션을 선택했을 때 서버로 넘겨질 값을 지정합니다.
selected 화면에 표시될 때 기본으로 선택되어 있는 옵션을 지정합니다.

 

 

기타 다양한 폼 요소들

기본형 설명
<button [ type="submit | reset | button"]> 내용 </button> <button>
버튼 넣기
속성 값 설명
submit 폼을 서버로 전송합니다. <button type="submit">전송하기</button>과 같이 사용합니다.
reset 폼에 입력한 모든 내용을 초기화시킵니다. <button type="reset">다시 쓰기</button>과 같이 사용합니다.
button 버튼 형태만 만들 뿐 자체 기능은 없습니다. <button type="button">주소 입력</button>과 같이 사용합니다.

 

기본형 설명
<output [속성="속성 값"]> 내용 </output> <output>
입력하는 값이 계산 결과라는 것을 브라우저에서 알려 줍니다.
<progress value="값" [max="값"]></progress> <progress>
작업 진행 상태를 나타낼 때 사용하는 태그입니다.
작업진행(value값)은 부동소수점으로 표현
작업이 완료되려면 얼마나 많은 작업을 해야하는지 부동 소숫점으로 표현(max), 0보다 커야함(다운로드%)
<meter value="값" [속성="속성 값"]></meter> <meter>
progress와 거의 같으나 전체 크기 중에서 얼마나 차지하는지를 표현할 때 사용한다. (하드디스크용량)

 

 

meter관련 태그

속성 설명
mint, max 범위의 최솟값과 최댓값을 나타냅니다. 값을 정하지 않으면 0과 1로간주
value 범위 내에서 차지하는 값을 나타냅니다.
low 대략 낮다고 할 정도의 값을 지정합니다.
high 대략 높다고 할 정도의 값을 지정합니다.
optimum 적당하다고 할 정도의 값을 지정합니다.

 

'HTML > 폼 관련 태그들' 카테고리의 다른 글

폼 관련 예제  (0) 2021.08.12

+ Recent posts