<form>: 폼을 만드는 태그<form [속성="속성값"]여러 폼 요소></form>
<form> 태그의 속성method: 폼 데이터를 서버로 보낼 때 사용할 방식 (GET 또는 POST)을 지정한다.name: 폼의 이름을 설정해 JavaScript 등에서 참조할 수 있게 한다.action: 폼 데이터를 전송할 서버의 URL을 지정한다.target: 서버 응답을 표시할 위치(현재 창, 새 창 등)를 설정한다.autocomplete: 자동완성 기능을 나타낸다.<fieldset>, <legend> 태그<!-- 05\fieldset.html 실습 -->
<!-- Do it! form 태그 삽입하기 & 그룹으로 묶고 제목 붙이기 -->
<form>
<fieldset>
<legend>상품 선택</legend>
</fieldset>
<fieldset>
<legend>배송 정보</legend>
</fieldset>
</form>
실행 결과:

<label> 태그: 품 요소에 레이블을 붙인다<!-- 05\label-1.html 실습 -->
<form>
<!-- Do it! label 태그 안에 input 태그 넣기 -->
<label>아이디(6자 이상) <input type="text"></label>
</form>
<!-- 05\label-2.html 실습 -->
<form>
<!-- Do it! label 요소와 input 요소 연결하기 -->
<label for="user-id">아이디(6자 이상)</label>
<input type="text" id="user-id">
</form>
<input> 태그의 type 속성 한눈에 살펴보기
1. type=”text”, type=”password”
<!-- 05\login.html 실습 -->
<form>
<fieldset>
<!-- Do it! 텍스트 필드와 비밀번호 필드가 있는 로그인 폼 만들기 -->
<label>아이디: <input type="text" id="user-id" size="10"></label>
<label>비밀번호: <input type="password" id="user_pw" size="10"></label>
<input type="submit" value="로그인">
</fieldset>
</form>
2. type=”search”, type=”url, type=”email”, type=”tel”
<!--05\t-field.html -->
<legend>배송 정보</legend>
<!-- Do it! 배송 정보 입력하는 폼 만들기 -->
<ul>
<li>
<label for="user-name">이름</label>
<input type="text" id="user-name">
</li>
<li>
<label for="addr">배송 주소</label>
<input type="text" id="addr">
</li>
<li>
<label for="mail">이메일</label>
<input type="email" id="mail">
</li>
<li>
<label for="phone">연락처</label>
<input type="tel" id="phone">
</li>
</ul>
</fieldset>
3. type=”checkbox”, type=”radio”
<!-- 05\radio-check.html -->
<fieldset>
<legend>상품 선택</legend>
<!-- Do it! 라디오 버튼과 체크 박스를 사용한 폼 만들기 -->
<p><b>주문할 상품을 선택해 주세요</b></p>
<ul>
<li>
<label><input type="checkbox" name="prod" value="s_3">선물용 3kg</label>
</li>
<li>
<label><input type="checkbox" name="prod" value="s_5">선물용 5kg</label>
</li>
<li>
<label><input type="checkbox" name="prod" value="f_3">가정용 3kg</label>
</li>
<li>
<label><input type="checkbox" name="prod" value="f_5">가정용 5kg</label>
</li>
</ul>
<p><b>포장 선택</b></p>
<ul>
<li><label><input type="radio" name="gift" value="yes">선물 포장</label></li>
<li><label><input type="radio" name="gift" value="no">선물 포장 안 함</label></li>
</ul>
</fieldset>
실행 결과:

<!-- 회원 가입 실습 -->
<form>
<fieldset>
<legend>사용자 정보</legend>
<ul>
<li>
<label for="uid">아이디</label>
<input type="text" id="uid">
</li>
<li>
<label for="umail">이메일</label>
<input type="mail" id="umail">
</li>
<li>
<label for="pwd1">비밀번호</label>
<input type="password" id="pwd1">
</li>
<li>
<label for="pwd2">비밀번호 확인</label>
<input type="password" id="pwd2">
</li>
</ul>
</fieldset>
<fieldset>
<legend>이벤트와 새로운 소식</legend>
<input type="radio" name="mailing" id="mailing_y" value="mailing_yes">
<label for="mailing_y">메일 수신</label>
<input type="radio" name="mailing" id="mailing_n" value="mailing_no">
<label for="mailing_n">메일 수신 안 함</label>
</fieldset>
<div>
<input type="submit" value="가입하기">
<input type="reset" value="취소">
</div>
</form>

4. type=”number”, type=”range”
<li>
<label><input type="checkbox" name="prod" value="s_3">선물용 3kg</label>
<input type="number" min="0" max="5">
</li>
<li>
<label><input type="checkbox" name="prod" value="s_5">선물용 5kg</label>
<input type="number" min="0" max="5">
</li>

<form>
<!-- Do it! 슬라이드 막대를 사용해 범위 조절하기 -->
<input type="range" min="0" max="100" step="1" value="20">
</form>

5. type=”date”, type=”month”, type=”week”
<h1>날짜 지정하기</h1>
<!-- Do it! 날짜 지정하기 -->
<input type="date">
<input type="month">
<input type="week">
6. type=”time”, type=”datetime-local”
<!-- 기본형 -->
<input type="time">
<input type="datetime-local">
7. type=”submit”, type=”reset”
<input type="submit | reset" value="버튼에 표시할 내용">
8. type=”image”
<input type="image" src="이미지 경로" alt="대체 텍스트">
9. type=”button”
<input type="button" value="버튼에 표시할 내용">
10. type=”file”
<input type=”file”>
11. type=”hidden”
<input type="hidden" name="이름" value="서버로 전송할 값">
<textarea> 태그: 여러 줄 입력<!-- Do it! 여러 줄 텍스트를 입력하는 메모 항목 추가하기 -->
<label for="memo">메모</label>
<textarea id="memo" cols="40" rows="4"></textarea>
<select>, <option> 태그
<select> 태그의 속성:<option> 태그의 속성:<button> 태그
실습: 회원 가입
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>회원 가입</title>
<style>
#container {
width:600px;
margin:10px auto;
}
</style>
</head>
<body>
<div id="container">
<h1>회원 가입을 환영합니다</h1>
<form>
<fieldset>
<legend>사용자 정보</legend>
<ul>
<li>
<label for="uid">아이디</label>
<input type="text" id="uid" autofocus placeholder="4자 ~ 10자 사이, 공백 없이" required>
</li>
<li>
<label for="umail">이메일</label>
<input type="mail" id="umail" required>
</li>
<li>
<label for="pwd1">비밀번호</label>
<input type="password" id="pwd1" placeholder="문자와 숫자, 특수 기호 포함" required>
</li>
<li>
<label for="pwd2">비밀번호 확인</label>
<input type="password" id="pwd2" required>
</li>
<li>
<label for="path">가입경로</label>
<select id="path">
<option value="blog">블로그</option>
<option value="search">검색</option>
<option value="sns">SNS</option>
<option value="etc">기타</option>
</select>
</li>
<li>
<label for="memo">메모</label>
<textarea cols="40" rows="4" placeholder="남길 말씀이 있다면 여기애"></textarea>
</li>
</ul>
</fieldset>
<fieldset>
<legend>이벤트와 새로운 소식</legend>
<input type="radio" name="mailing" id="mailing_y" value="mailing_yes">
<label for="mailing_y">메일 수신</label>
<input type="radio" name="mailing" id="mailing_n" value="mailing_no" checked>
<label for="mailing_n">메일 수신 안 함</label>
</fieldset>
<div>
<input type="submit" value="가입하기">
<input type="reset" value="취소">
</div>
</form>
</div>
</body>
</html>
실행 결과:
