<form>
<form>
동작 방식<form>
의 속성<input>
<input>
의 속성<input>
타입<label>
input
태그를 설명하는 텍스트를 옆에 붙여 무엇을 입력해야 하는지 설명할 수 있겠지만, 시각 장애인들도 폼을 사용할 수 있도록 시멘틱한 <label>
요소를 사용하도록 합시다.<label>
의 사용법<label>
이름 :
<input type="text" name="name">
</label>
<label for="myName">이름 : </label>
<input type="text" name="name" id="myName">
<for>
속성<select>
<select>
요소는 드롭다운 리스트 박스를 생성합니다. 이때 사용자가 선택해야하는 리스트 박스안의 아이템을 만들 때에는 <option>
태그를 사용합니다. <select>
의 속성들multiple
속성을 사용하면 사용자가 여러개의 option
요소를 선택할 수 있게 됩니다. 단, 단순 클릭으로는 선택되지 않으며 windows 에서는 ctrl
, OSX 에서는 command
버튼을 누르고 클릭해야 여러개를 선택할 수 있습니다.size
속성을 통해 드롭다운 리스트에서 한번에 보여줄 수 있는 option
의 갯수를 조절할 수 있습니다.<option>
의 속성들<option>
요소는 value
속성을 사용하여 선택값에 따라 서버에 어떠한 값을 전송할지 설정할 수 있습니다.selected
속성은 페이지가 로딩되고 난 뒤 기본으로 선택되는 옵션을 나타내는데 사용합니다. selected
옵션을 사용하지 않으면 첫번째 <option>
이 페이지 로드 시 선택되고, 아무것도 선택하지 않고 데이터를 서버로 전송하면 첫번째 <option>
값의 value
가 전송됩니다.<filedset>
fieldset 요소를 사용하면 그 자식 요소로 사용되는 폼 컨트롤들을 그룹화 할 수 있습니다. 특히 폼 내용이 방대하여 섹션별로 나눌 필요성이 있을 경우 유용하게 사용됩니다. 브라우저가 기본적으로 구현하는 스타일을 보시면 그 의미가 더 명확합니다.
<!-- 브라우저에서 어떻게 표현되는지 확인해보세요 -->
<form action="">
<fieldset>
<legend>개인정보</legend>
<label for="myName">이름</label>
<input type="text" name="name" id="myName">
<label for="myTel">전화번호</label>
<input type="tel" name="tel" id="myTel">
<label for="myEmail">이메일</label>
<input type="email" name="email" id="myEmail">
</fieldset>
<fieldset>
<legend>개인정보 제공 동의</legend>
<label for="checkAgree">개인정보 제공에 동의하십니까?</label>
<input type="checkbox" name="agree" id="checkAgree">
</fieldset>
</form>
<legend>
<legend>
요소는 <fieldset>
태그 바로 뒤에 위치하며 폼 그룹의 목적을 나타내는 제목을 의미합니다. 반드시 <fieldset>
의 첫번째 자식으로 사용해야합니다.<button>
<button>
태그는 클릭 가능한 버튼을 나타냅니다. 버튼의 모습을 다양하게 제어하고 버튼 내부에 다른 자식 요소를 추가하고 싶을 때 사용합니다.<button>
의 타입submit
: 버튼이 서버로 양식 데이터를 제출합니다. 지정하지 않은 경우 기본값이며, 유효하지 않은 값일 때도 사용합니다. 때문에 form 양식을 제출하기 위한 용도가 아니라면 반드시 type을 선언해줍시다.reset
: <input type="reset">
처럼, form의 모든 값을 초기화시킵니다.button
: 클릭 가능한 버튼입니다. 사용자가 기능을 부여하기 전까지는 별 다른 작동을 하지 않습니다.<textarea>
<textarea>
의 주요 속성<datalist>
<datalist>
는 <select>
와 <input>
을 섞어서 사용할 수 있도록합니다. <input>
의 list
속성을 이용해 <datalist>
요소의 id
속성과 연결하여 사용합니다. <label for="solasystem">원하는 행성을 선택하세요 : </label>
<input type="text" id="solasystem" list="planets" name="planets">
<datalist id="planets">
<option value="수성">수성</option>
<option value="금성">금성</option>
<option value="지구">지구</option>
<option value="화성">화성</option>
</datalist>