<Form>
기본 속성폼 : 정보를 입력하는 영역
ex. 로그인시 아이디,비번 입력 / 회원가입시 양식
action 어디로 보낼거야? 내 파일로 보낼거야~
method 뭐 어떤 방식으로? get으로 보낼거야~
칸에 이름, 비번을 입력하면,
url 주소를 보면 입력한 값이 뜸!
post 게시물 생성... Create -> url에 정보 X(포스트잇이라고 생각하면 쉬움)
get 게시물 불러오기 Read -> url에 정보가 표시됨
<input>
사용자가 정보 입력할 수 있게 정보를 만드는 열린 태그
<input type="" name="" id"">
hidden 언제 쓰이는 걸까?..? 공부해보셈~
radio에서 name을 똑같은걸로 설정하면 둘중 하나 선택하게 됨!
ex. 남/여
셋 다 별 차이없는데 ?
피씨화면에서는 차이가 없지만 모바일화면에서는 가상키보드의 모양이 달라진다.
tel의 경우 숫자만 나오게 되고, email은 키보드가 나온다.
즉, 올바른 데이터 입력을 요구하기 위해!(입력양식을 맞추기 위해)
<label>
input 태그를 설명하는 텍스트로, img태그의 alt 속성과 비슷한 느낌
(시각장애인분들을 위해 작성해주는 것이 좋다!)
1. 텍스트 설명과 폼 입력 모두 포함하기
(label태그 안에 input 포함)
<label>
이름 :
<input type="text" name="name">
</label>
2. 폼입력에서 분리하여, for속성을 이용해 레이블 지정
(label태그, input태그 따로)
<label for="myName">이름 : </label>
<input type="text" name="name" id="myName">
2번 방법의 경우에는, for 속성을 사용해주어야한다.
이때 중요한 것!!
label 태그의 for 속성 값
= input 태그의 for 속성 값
둘을 연결 시켜줘야함!
<select>
: 드롭다운 리스트 박스를 생성
선택지는 <option>
태그 사용하여 만들어주기!
<select>
<option value="iphone">아이폰</option>
<option value="galaxy">갤럭시</option>
</select>
multiple 속성
사용자가 여러 개의 option 요소를 선택 가능!
multiple = "multiple"
이런 경우엔 그냥 multiple
만 써도 작성된다.
size 속성
드롭다운 시 보이는 수를 지정할 수 있다.
selected 속성
기본적으로 선택되는 옵션
사용하지 않으면 첫번째 option이 선택되어서 로드됨.
value 속성
서버에 어떤 값을 전송할지 설정
value에 써있는 값이 전달되게 된다. 따라서 value값을 꼭 써주어야한다.
value="0"말고 그냥 쓰지말기
value=""이렇게!
<fieldset>
: 자식 요소로 사용되는 폼 컨트롤들을 그룹화
폼 내용이 방대하여 섹션별로 나눌 필요성이 있을 경우 유용하게 사용
이렇게 요소 묶기
의미론적으로 하고 css로 안보이게 할 수도 있음.
cf)
+type은 올바른 데이터 입력을 요구하기위해 id는 label과 연결하기 위해 name은 서버전송할때 key값으로 주기위해 , value는 사용자가 입력한 값
select는 사용자가 선택하는것이기 때문에 여기서 value는 개발자가 지정한것.
name: 서버전송할때 사용자가 입력한 값을 명명
value: 서버전송할때 사용자가 입력한 값 (미리 정해줌)
cf)
라디오는 하나만 체크박스는 꼭 해야하는 답변에만 required를 하면된다
<legend>
<fieldset>
태그 바로 뒤에 위치
폼 그룹의 목적을 나타내는 제목을 의미
반드시 fieldset의 첫번째 자식으로 사용
<button>
클릭 가능한 버튼
타입을 설정해주지 않으면 기본적으로 submit이 정해진것!
(기본타입이 submit)
<button type="submit"></button>
<button></button>
둘 다 같은 것
타입은 꼭 한개만 써주기~타입을 선언하는 버릇가지기~
form 태그 안에 써주는 것이 좋음!
form의 모든 정보를 제출하게 됨!
submit
: 버튼이 서버로 양식 데이터를 제출 (지정하지 않은 경우 기본값이며, 유효하지 않은 값일 때도 사용)reset
: <input type="reset">
처럼, form의 모든 값을 초기화button
: 클릭 가능한 버튼<button>
: 스타일을 적용하기 훨씬 수월
<input>
은 닫는 태그가 없기 때문에 value
특성에 텍스트 값 밖에 지정할 수 없지만, <button>
은 내부에 여러가지 자식 컨텐츠를 추가할 수 있고 여기 더해 ::after
와 ::before
와 같은 가상 요소를 사용하는 것도 가능.
따라서, 더 다채롭고 멋진 스타일을 적용해야 한다면 <button>
요소를 우선적으로 고려하기!
<textarea>
: 여러 줄의 text를 입력 받기
<textarea name="" id="" cols="40" rows="10" maxlength="10" minlength="5"></textarea>
<datalist>
<select>와 <input>
을 섞어서 사용할 수 있도록 하기!
<input>
의 list 속성
을 이용해 <datalist>
요소의 id 속성
과 연결하여 사용
클라이언트에게 기본 선택 옵션을 제공 + 원하는 옵션이 없는 경우 사용자가 원하는 임의의 값을 입력 받도록!
ex) 이메일 직접입력하기
<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>