๐ Formํ๊ทธ
- ์ด์ ๊ธ์์ ๊ฐ๋จํ form์ ๋์์๋ฆฌ๋ฅผ ๋ณด์๋ค๋ฉด ์ด ๊ธ์์ ํ๊ทธ๋ฅผ ์ดํด๋ณด์.
๐ฅฒ <form>์ ์์ฑ
- action : ์ ๋ ฅ ๊ฐ์ ์ ์กํ ํ์ด์ง
- method : ํผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ฐฉ๋ฒ , get๊ณผ post๊ฐ ์๋ค.
๐ฅฒ get vs post?
get |
post |
|
---|---|---|
๋ฐ์ดํฐ๊ฐ ์ด๋์ค๋ฆฌ๋๊ฐ | http ํค๋์ ๋ฐ์ดํฐ๊ฐ ๋๋ฌ๋๋ค. | http ๋ฐ๋์ ๋ฐ์ดํฐ๋ฅผ ์ค์ด ๋ณด๋ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ์ธ์ ์ผ๋ก ๋๋ฌ๋์ง ์๋๋ค. |
๋ฐ์ดํฐ์ ์ | ์๋ฒ์ ์์์ ์ํ ํค์๋๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๊ฒฝ๋ก์ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ์ ์กํ๋ค. | ์๋ฒ์์ ์์ ํ๋๋ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด์ค์ผํ๋ค. |
๋ฉฑ๋ฑ์ฑ | ๋ณด์ฅ (์์์ ์์ฒญ์ด๋ฏ๋ก ์๋ฒ์ ์ํฅ์ ๋ฐ์ง ์๋๋ค.) |
๋ณด์ฅX (๋ฐ์ดํฐ๋ฅผ ์๋ฒ์ ์ ์กํด์ ํน์ ์์ ์ ์ฒ๋ฆฌํ๋๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ ์์ฒญ๋ง๋ค ๋ฌ๋ผ์ง์ ์๋ค.) |
๐ฅฒ input : ์ฌ์ฉ์์๊ฒ ์ ๋ณด ์ ๋ ฅ์ ๋ฐ๋๋ค.
input์ ์์ฑ
type, name, readonly, minlength,maxlength , required , autofocus , placeholder ,pattern์ด ์๋ค.
- input ํ์
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>form</title>
</head>
<body>
<input type="text"><br>
<input type="password"><br>
<input type="date"><br>
<input type="time"><br>
<input type="range"><br>
<input type="color"><br>
<input type="radio"><br>
<input type="checkbox"><br>
<input type="file"><br>
<textarea name="name" rows="8" cols="80"></textarea>
</body>
</html>
* ์จ๋ณด๋ฉด์ ๋๊ปด๋ณด์ธ์!
๐ฅฒ button
- button type
- submit : ๊ธฐ๋ณธ๊ฐ , ์๋ฒ๋ก ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ถ
- reset : form์ ๋ชจ๋ ๊ฐ์ ์ด๊ธฐํ
Q . ์ type์ ์ง์ ํด์ค์ผํ ๊น?
A.
์ด์ฐจํผ ๊ฐ์ inputํ๊ทธ ์์ ๊ธ์ด ์จ์ง๋๊ฑด ๋ง์ฐฌ๊ฐ์ง์ธ๋ฐ ์ type์ ์ง์ ํด์ฃผ์ด์ผ ํ ๊น?
๋ฐ๋ก "์ฌ์ฉ์๊ฐ ์ฌ๋ฐ๋ฅธ ํ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๊ธฐ ์ํจ" ์ด๋ค.
๋ง์ฝ email ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ฐ @๊ฐ ์์ผ๋ฉด ๋ฐ์ดํฐ ํ์์ด ์๋ชป๋๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค!!
Q. input๊ณผ button ์ค ๋ฌด์์ ์ฌ์ฉํด์ผํ ๊น?
A.
button์์๋ input๋ณด๋ค ์คํ์ผ์ ์ ์ฉํ๊ธฐ ์์ํ๋ค.
(input ํ๊ทธ๋ ๋ซ๋ํ๊ทธ๊ฐ ์์ด value ๊ฐ๋ฐ์ ์ง์ ํ ์ ์๋ค.)
๋ํด์ ๊ฐ์์์๋ฅผ ์ฌ์ฉํ๋๊ฒ๋ ๊ฐ๋ฅํ๊ธฐ์ ๋ ๋ฉ์ง ์คํ์ผ์ ์ฌ์ฉํด์ผํ๋ค๋ฉด <button>์์๋ฅผ ์ฐ์ ์ ์ผ๋ก ๊ณ ๋ คํด๋ณด๋๊ฒ์ด ์ข๋ค.
๐ฅฒ label : inputํ๊ทธ๋ฅผ ์ค๋ช ํ๋ค.
์ฌ์ฉ๋ฒ 1 ) ํ ์คํธ ์ค๋ช ๊ณผ ํผ ์ ๋ ฅ ๋ชจ๋ ํฌํจ
<label>
์ด๋ฆ :
<input type="text" name="name">
</label>
์ฌ์ฉ๋ฒ 2 ) ํผ ์ ๋ ฅ์ ๋ถ๋ฆฌํ์ฌ for ์์ฑ์ ์ด์ฉํด ๋ ์ด๋ธ ์ง์
<label for="myName">์ด๋ฆ : </label>
<input type="text" name="name" id="myName">
๐ฅฒ select : ๋๋กญ๋ค์ด ๋ฆฌ์คํธ๋ฐ์ค ์์ฑ
<form action="">
<label for="myDevice">ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ ์ค๋งํธํฐ์ ์ ์กฐ์ฌ๋ฅผ ์ ํํด์ฃผ์ธ์</label>
<select name="device" id="myDevice">
<option value="iphone">์์ดํฐ</option>
<option value="galaxy">๊ฐค๋ญ์ํฐ</option>
<option value="ใ
ใ
">LGํฐ</option>
</select>
</form>
- selection ์์ฑ
mutiple : ์ฌ๋ฌ๊ฐ option ์ ํํ ์ ์๋๋ก ํด์ค
size : option๊ฐ์ ์กฐ์
- option ์์ฑ
value : ์๋ฒ์ ์ ์กํ ๊ฐ
selected : ํ์ด์ง๊ฐ ๋ก๋ฉ๋๊ณ ๋ ํ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋๋ ์ต์
๐ฅฒ 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 : fieldset ํ๊ทธ ๋ฐ๋ก ๋ค์ ์์นํ๋ฉฐ, ํผ ๊ทธ๋ฃน ๋ชฉ์ ์ ๋ํ๋ด๋ ์ ๋ชฉ์ ์๋ฏธํ๋ค.
๐ฅฒ <textarea> : ์ฌ๋ฌ์ค์ text๋ฅผ ์ ๋ ฅ๋ฐ์
cols : textarea๊ฐ ๋ณด์ฌ์ค ์ ๋ ฅ์ฐฝ์ ๋์ด / ๊ธฐ๋ณธ๊ฐ : 20
rows : textarea ์ ๋ ฅ ์ฐฝ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณด์ฌ์ฃผ๋ ์ค ์
<textarea name="" id="" cols="40" rows="10" maxlength="10" minlength="5"></textarea>
๐ฅฒ <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>
๐๊ทธ๋ฐ์
- ์ฝ๋ ์์ฑ์ class ๋ช ์ ํ์คํ ํ์
- SEO (๊ฒ์์์ง์ต์ ํ)
- pํ๊ทธ ์คํฌ๋กค๋ก ๋ง๋๋ ๋ฒ : overflow : scroll
๐ฅ ํ๊ณ
์ค์ ์๊ฐ์ ๋ฉ์ด์ปค์ค๋๊ณผ ํ๊ณ ์๊ฐ์ ๊ฐ์ก๋ค. ํ๊ณ ๋ฅผ ํ๋ฉฐ ๋ด๊ฐ ๊ฐ์ง ๋ถ์,๊ฑฑ์ ์ญ์ ๋ค๋ฅธ๋ถ๋ค๋ ๊ฐ์๊ฒ์ ๋๊ผ๋ค. 4๊ฐ์๊ฐ ์กฐ๊ธํดํ์ง ์๊ณ ํ๋ฃจํ๋ฃจ ์๋ฏธ์๊ฒ ๋ณด๋ด๋ฉด 4๊ฐ์์ด ์ง๋ ํ ์ฑ์ฅ๋ ๋์ ๋ชจ์ต์ ๋ณผ ์ ์์๊ฑฐ๋ผ ๊ธฐ๋ํ๋ค.
์คํ์๊ฐ์ ์ผ์ฑ,๋ค์ด๋ฒ,๋๋ฌผ์์ฒ ์นํ์ด์ง ํ์ ๋๋์ด ๋ณด๊ณ html formํ๊ทธ๋ค์ ๋ฐฐ์ ๋ค.
htmlํ๊ทธ๋ค์ ๋ฐฐ์ฐ๋ฉด์ ๋๋ผ๋ ์ ์ '๋ด๊ฐ htmlํ๊ทธ์ ์ด๋ฆฌ ์์ธํ๊ฒ ๊ด์ฌ์ ๊ฐ์ง์ ์ด ์๋๊ฐ?' ์๋ค. ์ ์๋ ๋จ์ํ ํ๋ฒ ์ณ๋ณด๊ณ ๋๋๋ค๋ฉด, ์ง๊ธ์ ๋ฉ์ฌ 2๊ธฐ๋ถ๋ค๊ณผ ํจ๊ป ๋์์๋ฆฌ ๋ฐ ์น์ ๊ทผ์ฑ,์นํ์ค๋ฑ์ ๋ํด ๊ด์ฌ์ ๊ฐ์ง๋ฉฐ ์ฝ๋ฉ์ ํ๋ ๋ด ๋ชจ์ต์ ๋ฟ๋ฏํ๋ค.
๋ฌด์๋ณด๋ค ์ค์ํ๊ฑด, ํญ์ ์ฝ๋ฉํ ๋ ์ ์ด ์ฝ๋๋ฅผ ์์ฑํ์๊น์ ๋ํ ์ด์ ๋ฅผ ์ฐพ์ผ๋ฉฐ ์ฝ๋ฉํ๊ธฐ!!
'FE > HTML,CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[css] reset css | Vendor-Prefix | Selector์ฐ์ ์์ (4) | 2022.04.06 |
---|---|
[HTML] table | inline vs block (0) | 2022.04.05 |
[HTML] Text-level semantics (0) | 2022.03.30 |
[HTML] Grouping Content | HTML Living Standard (0) | 2022.03.29 |
[HTML] HTMLํ๊ทธ (0) | 2022.03.28 |