양식 및 입력

검색창, 로그인, 결제, 댓글 입력 같이 어떤 작업을 하는 거의 모든 웹사이트는 양식으로 구축됩니다. 양식은 페이지가 방문자에게 일방적으로 보여주는 것에서 벗어나 정보를 청취하기 시작하는 방식입니다. 양식은 누군가가 입력하고, 선택하고, 선택한 내용을 수집한 뒤 처리될 수 있도록 전달합니다. 이 장에서는 이를 가능하게 하는 HTML에 대해 다룹니다.
form 요소
**양식**은 방문자가 입력하는 것들을 함께 묶는 컨테이너입니다. 입력 항목과 버튼을 <form> 요소 안에 넣으면, 양식의 역할은 모든 것을 모아서 방문자가 완료했을 때 전송하는 것입니다.
<form>
<label>이름</label>
<input>
<button>전송</button>
</form>병원에서 받는 종이 양식처럼 생각해보세요. 시트가 모든 상자를 포함하고, 각 상자에 작성한 후 맨 아래에서 전체 시트를 한 번에 제출합니다. <form> 요소가 바로 그 시트입니다.
<form>은 입력 항목과 버튼을 포함하는 컨테이너이며, 누군가가 제출할 때 모든 것을 함께 전송합니다. 책상의 종이 양식을 생각해보세요. 하나의 시트, 많은 상자, 한 번에 제출됩니다. 필드를 양식으로 감싸면 특별한 작업 없이 수집 및 전송 동작을 얻습니다. 입력 및 레이블
<input>은 방문자가 입력하는 상자입니다. 하지만 혼자서는 <input>이 무엇을 하는 상자인지 알 수 없는 빈 상자입니다. 그것이 **레이블**의 역할입니다. 방문자에게 상자에 무엇을 입력할지 알려주는 텍스트입니다.
<label for="city">도시</label>
<input id="city">모든 입력에는 레이블이 필요합니다. 입력에 id를 부여하고 레이블에서 for로 가리키되, 둘 다 같은 단어를 사용하여 두 요소를 연결합니다. 연결되면 레이블을 클릭하면 커서가 상자에 표시되는데, 이는 모든 사람에게 양식을 더 쉽게 사용할 수 있게 해주는 작은 배려입니다.
<input>은 사람들이 입력하는 상자이고, <label>은 그곳에 무엇이 들어가는지 알려주는 텍스트입니다. 일치하는 for와 id로 연결하면 레이블을 클릭하면 바로 상자로 이동합니다. 모든 단일 입력에 레이블을 붙이세요. 옆에 단어가 없는 외로운 상자는 사람들만 헷갈리게 합니다. 기타 컨트롤
모든 것이 일반 텍스트 상자는 아닙니다. 어떤 질문은 선택, 체크 또는 목록에서 선택하는 방식이 더 나을 수 있습니다. 체크박스는 온-오프 토글이며, 드롭다운은 여러 옵션 중 하나를 선택할 수 있게 합니다.
<label>
<input type="checkbox"> 뉴스레터 보내주세요
</label>
<label for="size">크기</label>
<select id="size">
<option>작음</option>
<option>중간</option>
<option>큼</option>
</select>이것을 외울 필요는 없습니다. 지금 핵심은 양식이 적합한 어떤 방식으로든 질문을 할 수 있다는 것입니다. 입력, 체크, 또는 목록에서 선택.
<input type="checkbox">이고, 드롭다운은 <option> 선택을 포함하는 <select>입니다. 외울 필요가 없습니다. 질문이 필요할 때 양식에는 일반 상자 이상이 있습니다. 양식 데이터가 명명되고 제출되는 방식
양식이 전송될 때, 각 답변에는 누가 받든 어느 상자에서 왔는지 알 수 있도록 레이블이 필요합니다. 그 레이블이 입력의 name입니다. 한 번 설정하면 값과 함께 전달됩니다.
<label for="city">도시</label>
<input id="city" name="city">방문자가 그 상자에 "서울"을 입력하면, 양식은 "city는 서울"이라는 쌍을 전송합니다. name은 수신 측이 한 답변을 다른 것과 구분하는 방법입니다. name이 없는 입력은 제출에서 완전히 제외되므로, 이 작은 속성이 실제로 데이터가 표시되도록 하는 것입니다.
name은 답변의 태그이므로, 수신자는 값이 도시 상자에서 왔는지 이메일 상자에서 왔는지 알 수 있습니다. name을 설정하면, 상자의 값이 레이블이 붙은 쌍으로 전송됩니다. 잊으면, 그 필드는 조용히 제외되며, 많은 사람들이 양식이 아무것도 반환하지 않을 때 처음 실수합니다. 
