웹 문서에서 사용자가 입력할 수 있는 양식을 제공하는 태그
<input>
<input type="text">

아이디 : <input type="text" size="15" maxlength="5" placeholder="아이디 입력">

비밀 번호 입력 상자 (단순히 입력되는 텍스트를 가려줌)
비밀번호 : <input type="password">

주소 입력 시 사용하는 입력 상자
value : 모든 input 태그의 type에서 사용 가능한 속성(
value="https://" -> https://를 초기값으로 설정
홈페이지 : <input type="url" value="https://">

url, email, tel 속성은 단독 사용 시 type="text"와 같지만 form 태그 내부에서 사용되면 입력된 값이 용도에 맞는 값인지 유효성 검사를 간단히 진행함.
이메일 입력 시 사용하는 입력 상자
<form>
이메일 : <input type="email">
<button>제출</button>
</form>

전화번호 입력 시 사용하는 입력 상자
전화번호 : <input type="tel" placeholder="'-' 기호 포함">
숫자만 입력할 수 있는 입력상자
브라우저에 따라 스핀박스(위아래 화살표) 표시되기도 함.
step 속성 입력 전에는 화살표 누르면 1씩 증가 감소
min 입력 안하면 음수까지 표시됨
점수입력 : <input type="number" step="10" min="0" max="100">

슬라이드 바를 이용해서 숫자 지정(단독 사용 X, js와 함께 사용)
단독 사용시 바만 움직임. 값을 알 수 없음
<input type="range" step="10" min="0" max="50">
눈에 보이지는 않지만 step,min,max 설정 해서 구간 5번으로 나눠서 움직임

크기 변경은 style="width: 130px;"
<input type="date">

<input type="month">

<input type="week">

<input type="time">

<input type="datetime-local">

여러 관련된 값을 묶어서 선택하는 경우에 사용하는 input type
input 태그 앞에 글씨 쓰면 체크하는 부분이 뒤에 나옴
labal(for) 속성은 input(id) 태그와 연결 기능 글씨 눌러도 체크됨
id 속성 : 식별자 (하나의 HTML문서에서 중복 금지)
팀 선택 <br>
<label for="a-team">A팀</label><input type="radio" name="team" id="a-team">
<label for="b-team">B팀</label><input type="radio" name="team" id="b-team">
<label for="c-team">C팀</label><input type="radio" name="team" id="c-team">

취미선택
<input type="checkbox" name="hobby" id="baseball"> <label for="baseball">야구</label>
<input type="checkbox" name="hobby" id="soccer"> <label for="soccer">축구</label>
<input type="checkbox" name="hobby" id="basketball"> <label for="basketball">농구</label>

checked 속성 : checkbox / radio 체크해두는 속성
<input type="checkbox" checked>
<input type="radio" checked>

<label>
<input type="checkbox"> 뜨개질
</label>
<label>
<input type="checkbox"> 바느질
</label>

type="color" : <input type="color">
type="file" : <input type="file">
type="hidden" : <input value="값이 있었는데 없었어요" type="hidden">
hidden은 개발자 도구에서만 보임 글자는 사라짐
(브라우저에는 안 보이고 서버에는 넘겨야하는 값)

front(앞단)에서 back(뒷단)으로 넘겨줄 때 꼭 필요한 태그
앞단 : HTML, CSS, Javascript
뒷단 : DB, JAVA
속성
<form action="/login">
<input type="text" value="홍길동" name="name">
</form>
GET / POST 서버 전달 방식
GET요청 : 클라이언트(앞단)에서 값을 보낼 때 정보 요청하기 위해 사용 (get 보안 약함 위에 값이 뜸, 서버로 보낼 수 있긴함, 서버로 보낸값이 노출)
ex) 조회(서버에서 명단 보내줌)
POST : 앞단에서 값을 서버로 보내는 거
ex) 아이디, 비밀번호 입력
<form>
아이디 : <input type="text" name="id" value="user01">
비밀번호 : <input type="password" name="pw">
<button>제출</button>
</form>

주소창 뒤에 (?id=user01&pw=12345)
front에서 input 값에 작성한 게 서버로 넘어갔다는 뜻
? : 제출된 값을 나타내는 문자열의 시작부분
id, pw : input 태그 name 속성값
user01, 12345 : input 태그에 입력한 값(value)
name 속성 값이 'id'인 input 태그에 작성된 값 'user01' 과 name 속성 값이 'pw'인 input 태그에 작성된 값 '123453' 이다.
form 태그 기본값은 get 요청 (get은 생략 가능)
<form action="07_이미지관련태그.html" target="_blank" method="get">
<input type="checkbox" name="hobby" id="baseball"> <label for="baseball">야구</label>
<input type="checkbox" name="hobby" id="soccer"> <label for="soccer">축구</label>
<input type="checkbox" name="hobby" id="basketball"> <label for="basketball">농구</label>
<button type="submit">제출</button>
</form>
button type 기본값 submit 속성 제출의 의미, 생략 가능
button type="button"은 제출 안됨 아무런 기능 없음 (javascript를 이용해서 원하는 기능을 추가할 수 있다.)
button type="reset" : 버튼이 포함된 form 태그 내부 input 값을 모두 초기화
스크립트 안에 작성된 내용은 자바스크립트 영역
<body>
<button type="button" id="btn">그냥 버튼</button>
<script>
document.getElementById("btn").addEventListener("click" , function() {
// click 했을 때 어떤 기능을 수행할 지 작성
alert("버튼 클릭됨"); //경고 기능
})
//그냥 버튼 가져온다는 뜻
</script>
</body>

fieldset : 테두리를 만들어 그룹을 구분하는 영역
legend : fieldset 테두리에 이름을 붙이는 것
<form>
<fieldset>
<legend>로그인 정보</legend>
아이디 : <input> <br>
비밀번호 : <input type="password">
<button>가입하기</button>
</fieldset>
</form>

여러 줄을 입력하기 위한 입력 상자 (상자 넓힐 수 있음)
5행 70열 resize: none; 넓히는 기능 막음
<textarea rows="5" cols="70" style="resize: none;" placeholder="최대 5000자"></textarea>

<form>
<select name="test">
<option value="1">선택 1</option>
<option>선택 2</option>
<option selected>선택 3</option>
<option>선택 4</option>
<option>선택 5</option>
</select>
<button>제출</button>
</form>
선택 1 선택하고 제출하면 value값이 들어감
option 태그에 value가 없으면 option태그 사이에 작성된 내용이 제출됨
selected 속성 기본값으로 3번 선택되게 만듦
