폼 양식을 의미하는 태그
HTML의 폼을 구성하는 태그는 모두 from태그 안에 작성함
<form action = "서버 URL" method = "GET 또는 POST"> </from>
action 속성
폼 요소에서 사용자와 상호작용으로 입력받은 값들을 전송할 서버의 URL 주소를 넣는다.
method 속성
입력받은 값을 서버에 전송할 때 송신 방식을 넣는다.
GET : 보안이 요구되지 않은 정보. 사용자의 입력 데이터를 URL에 표시. 데이터 크기에 제한이 있고 쿼리 형식. 주소 줄 ? 뒤에 데이터가 붙여져서 전달되는 방식.
POST : 보안이 요구되는 정보. 데이터 크기의 제한이 없어 많은 양의 데이터를 전달 할 수 있음. HTTP REquest 헤더 안에 데이터가 숨겨져서 전송되는 방식.
input 태그를 사용해서 아이디와 비밀번호를 입력하는 공간을 만들어 작성을 하고 sumbit 버튼을 누르면 action 속성에 입력된 input.html 로 전송되게 임시로 작성하였다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> form 태그 사용하기 </title>
</head>
<body>
<form action="input.html" method="get">
<!-- GET 메소드를 이용하여 입력양식을 만든다 -->
아이디 : <input type="text" name="id">
<!-- 사용자가 아이디를 입력할 수 있는 공간을 만드는 태그 -->
비밀번호 : <input type="password">
<!-- 사용자가 비밀번호를 입력할 수 있는 공간을 만드는 태그 -->
<input type="submit" value="로그인">
<!-- 제출 버튼을 만드는 태그 -->
</form>
</body>
</html>
input.html 에 로그인 성공 ! 이라는 텍스트가 나오게 코드를 작성해두었다.<!-- input.html -->
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> 확인을 위한 임시 서버 URL</title>
</head>
<body>
로그인 성공 !
</body>
</html>
🔽 로그인 버튼을 누르면 나오는 웹 페이지 🔽
로그인 페이지의 아이디와 비밀번호처럼 입력받는 요소를 생성할 때 사용
<input type = "종류" name = "이름" value = "초기값">
🔽 input 태그로 생성할 수 있는 입력 요소와 type 속성값 🔽
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> input 태그의 type </title>
</head>
<body>
<input type="text"> <br>
<input type="password"> <br>
<input type="tel"> <br>
<input type="number"> <br>
<input type="url"> <br>
<input type="search"> <br>
<input type="email"> <br>
<input type="checkbox"> <br>
<input type="radio"> <br>
<input type="file"> <br>
<input type="button"> <br>
<input type="image" src="images/images2/lovedog.jpg" width="100px" height="100px"> <br>
<input type="hidden"> <br>
<input type="date"> <br>
<input type="datetime-local"> <br>
<input type="month"> <br>
<input type="week"> <br>
<input type="time"> <br>
<input type="range"> <br>
</body>
</html>
🔽 type 속성값을 적용 후 출력 🔽
name 속성
입력 요소의 이름을 작성
입력 요소가 form 태그에 의해 서버로 전송될 때, name 속성에 적힌 값이 이름으로 지정됨
서버에서는 지정된 이름으로 입력 요소를 식별할 수 있음
value 속성
입력 요소의 초기값을 작성
입력 요소는 보통 사용자에게서 수동으로 값을 입력받지만, 상황에 따라 초기값을 설정해야하는 경우가 있는데 이럴 때 사용하는 속성임.
form 태그 안에서 사용하는 상호작용 요소에 이름을 붙일 때 사용
label 태그만 클릭해도 연결된 양식에 입력할 수 있도록 하거나, 체크 또는 체크를 해제할 수 있음.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> label 태그 </title>
</head>
<body>
<label> 아이디 입력
<input type="text">
</label>
</body>
</html>
🔽 위 코드를 실행해보면 이렇게 아이디 입력란이 나오는데 아이디 입력을 누르면 입력할 수 있도록 한다 🔽
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> label 태그 </title>
</head>
<body> <!-- label for의 속성값과 input id속성값이 같아야한다 -->
<label for = "useid"> 아이디 입력 </label>
<input type="text" id = "useid">
</body>
</html>
form 태그 안에 사용된 상호작용 요소도 fieldset태그를 사용해 그룹 지을 수 있음
fieldset태그로 그룹을 지으면 그룹별로 박스 모양의 테두리가 생김
그룹 지은 요소들은 legend태그로 이름을 붙일 수 있음
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="#" method="get">
<fieldset>
<legend> 그룹 이름 </legend>
<label> 아이디
<input type = "text">
</label>
<label> 비밀번호
<input type = "password">
</label>
</fieldset>
</form>
</body>
</html>
🔽 fieldset 와 legend 태그를 사용해 출력 🔽
select 태그는 콤보박스를 생성
콩보박스에 항목 하나를 추가할 땐 option 태그 사용
항목들을 묶고 싶을 때는 optgroup 태그를 사용
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> select 태그 사용하기 </title>
</head>
<body>
<select>
<optgroup label="지역 이름">
<option value="울산"> 울산 </option>
<option value="부산"> 부산 </option>
<option value="대구"> 대구 </option>
<option value="경주"> 경주 </option>
<option value="포항"> 포항 </option>
</optgroup>
<optgroup label="구 이름">
<option value="북구"> 북구 </option>
<option value="남구"> 남구 </option>
<option value="동구"> 동구 </option>
<option value="없음"> 없음 </option>
</optgroup>
</select>
</body>
</html>
option 태그는 서버에 전송할 값을 value 속성으로 지정할 수 있음option 태그의 콘텐츠로 적은 텍스트가 값으로 전송됨optgroup 태그로 항목을 그룹 지을 때 반드시 label속성으로 그룹명을 지정해야 함🔽 select, option, optgroup 태그를 사용해 출력 🔽
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> select 태그 사용하기 </title>
</head>
<body>
<select size="3">
<optgroup label="지역 이름">
<option value="울산"> 울산 </option>
<option value="부산"> 부산 </option>
<option value="대구"> 대구 </option>
<option value="경주"> 경주 </option>
<option value="포항"> 포항 </option>
</optgroup>
</select>
</body>
</html>
🔽 select 태그에 size 속성을 사용해 출력 🔽
multiple 속성을 사용하면 여러 항목을 동시에 선택 할 수 있음 (콤보박스에서 항목 하나를 선택한 상태로 Ctrl을 누르고 다른 항목을 클릭하면 됨)<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> select 태그 사용하기 </title>
</head>
<body>
<select multiple>
<optgroup label="지역 이름">
<option value="울산"> 울산 </option>
<option value="부산"> 부산 </option>
<option value="대구"> 대구 </option>
<option value="경주"> 경주 </option>
<option value="포항"> 포항 </option>
</optgroup>
</select>
</body>
</html>
🔽 select 태그에 multiple 속성을 사용해 출력 🔽
selected 속성을 사용하면 기본 선택 항목을 변경할 수 있음<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> select 태그 사용하기 </title>
</head>
<body>
<select>
<option value="울산"> 울산 </option>
<option value="부산"> 부산 </option>
<option value="대구" selected> 대구 </option> <!-- 대구에 selected 속성을 사용 -->
<option value="경주"> 경주 </option>
<option value="포항"> 포항 </option>
</select>
</body>
</html>
🔽 option 태그에 selected 속성을 사용해 출력 🔽
input 태그에서 type 속성값을 sumbit, reset, button 으로 지정해 생성할 수 있지만, 별도의 button 태그로 생성할 수 있음
<button type = "종류"> 버튼 이름 </button>
type의 속성값은 폼을 서버에 전송할 목적이면 sumbit
상호작용 요소에 입력된 내용을 초기화하는 버튼이면 reset
단순한 버튼이면 button
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> button 태그 사용하기 </title>
</head>
<body>
<button type = "submit">
<img src = "images/images2/lovedog2.jpg" width="100px" height="100px">
버튼 누르기
</button>
</body>
</html>
🔽 button 태그 사용 출력 🔽
input , textarea , select , button 태그에 사용 가능<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> disabled 속성 </title>
</head>
<body>
<input type = "text" disabled>
<textarea disabled></textarea>
<select disabled>
<option value="강아지"> 강아지 </option>
<option value="고양이"> 고양이 </option>
</select>
<button disabled> 버튼 비활성화 </button>
</body>
</html>
🔽 disabled 속성 사용해서 출력하기 🔽
textarea , input 태그에서 사용 가능input 태그에서는 type 속성값이 텍스트를 입력하는 요소의 속성값일 때만 사용 가능<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> readonly 속성 </title>
</head>
<body>
<textarea readonly></textarea>
<input type = "text" readonly>
</body>
</html>
🔽 readonly 속성 사용해서 출력하기 🔽
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> maxlength 속성 </title>
</head>
<body>
<textarea maxlength = "10"></textarea>
<input type = "tel" maxlength="5">
</body>
</html>
🔽 maxlength 속성 사용해서 출력하기 🔽
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> checked 속성 </title>
</head>
<body>
<fieldset>
<legend> 먹고 싶은 메뉴 </legend>
<label> <input type="checkbox" name="chicken" checked> 치킨 </label>
<label> <input type="checkbox" name="pizza"> 피자 </label>
<label> <input type="checkbox" name="meat"> 고기 </label>
</fieldset>
</body>
</html>
🔽 checked 속성 사용해서 출력하기 🔽
<input type="text" placeholder="힌트를 적는 곳">
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> placeholder 속성 </title>
</head>
<body>
<fieldset>
<legend> 먹고 싶은 메뉴 </legend>
<label> <input type="checkbox" name="chicken" checked> 치킨 </label>
<label> <input type="checkbox" name="pizza"> 피자 </label>
<label> <input type="checkbox" name="meat"> 고기 </label> <br>
<label> <input type = "text" placeholder = "다른 메뉴는 작성해주세요"> </label>
</fieldset>
</body>
</html>
🔽 checked 속성 사용해서 출력하기 🔽
