๐ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
๐ action, method
- form ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ํ์ด์ง๋ ๋ค๋ฅธ ์๋ฒ์ ์ ์กํ ์ ์๋๋ฐ, action ์์ฑ์ ๊ทธ ์ฃผ์๋ฅผ ์์ฑํ๋ฉด ๋๋ค.
- GET ๋ฉ์๋๋ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ์ ๋ณด๋ฅผ ์ฃผ์์ฐฝ์ ๊ทธ๋๋ก ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ๋ณด์๊ณผ ๊ด๋ จ๋ ์ ๋ณด๋ค์ GET ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.
- POST ๋ฉ์๋๋ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ์ ๋ณด๋ฅผ ์ฃผ์์ฐฝ์ ๋ณด์ฌ์ฃผ์ง ์์์ ๋๋ถ๋ถ form ํ๊ทธ๋ก ์ ๋ณด๋ฅผ ์ ์กํ ๋ POST ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
<form action="" method="GET">
<div>
<label for="food">์์ ์ด๋ฆ :</label>
<input type="text" name="food" id="food">
</div>
<div>
<label for="color">์๊น :
<input type="text" name="color">
</label>
</div>
</form>
- label ์์๋ฅผ ์ฌ์ฉํด input ์์๋ฅผ ๋ผ๋ฒจ๋งํ๋ฉฐ, ์ ํํ๊ฒ ๋ผ๋ฒจ๋งํ๋ ๊ฒ์ ์ฌ์ฉ์ ๊ฒฝํ ์
์ฅ์ด๋ ์น ์ ๊ทผ์ฑ, ์๋งจํฑ์ ์ธ ์์ญ์์ ๋งค์ฐ ์ค์ํ๋ค.
- input ์์์ name ์์ฑ์ ์๋ฒ์ ์ ์กํ ๋ ๊ตฌ๋ถํ๊ธฐ ์ํจ์ด๊ณ , id ์์ฑ์ ์ ์ฒด ๋ฌธ์์์ ๊ตฌ๋ถํ๊ธฐ ์ํจ์ด๋ค. ๊ทธ๋์ name ์์ฑ๊ณผ id ์์ฑ ๊ฐ์ด ๊ฐ์ ํ์๋ ์๋ค.
- label ์์์ for ์์ฑ ๊ฐ๊ณผ input ์์์ id ์์ฑ ๊ฐ์ด ๊ฐ์ ์์๋ผ๋ฆฌ ์ง์ ์ด๋ฃฌ๋ค.
- input ์์์ name ์์ฑ ๊ฐ์ ํ๋์ ๋ฌธ์ ์์์ ๊ฒน์น๋ ๋์ง๋ง, id ์์ฑ ๊ฐ์ ๊ฒน์น๋ฉด ์ ๋๋ค.
- label ์์์ input ์์๊ฐ ํ์ ๊ด๊ณ๋ผ๋ฉด for ์์ฑ๊ณผ id ์์ฑ์ ํ์๋ก ์ง์ ํด์ผ ํ์ง๋ง, ๋ถ๋ชจ ์์ ๊ด๊ณ๋ผ๋ฉด ์๋ตํด๋ ๊ด์ฐฎ๋ค.
- ์น ์ ๊ทผ์ฑ์ ์ํด label ์์์ ๋ด์ฉ์ input ์์๋ฅผ ์ค๋ช
ํ๋ ๋ฌธ๊ตฌ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ข๋ค.
๐ fieldset, legend
- fieldset ์์์ ์ฒซ ๋ฒ์งธ ์์ ์์๋ ๋ฌด์กฐ๊ฑด legend ์์์ฌ์ผ ํ๋ค.
- disabled ์์ฑ์ ํตํด fieldset ์์ ์์ ์๋ input ์์๋ฅผ ๋ชจ๋ ๋นํ์ฑํํ ์ ์๋ค.
๐ type
- input ์์์ ์ ํ์ ๋ง๊ฒ type ์์ฑ์ ์์ฑํ๋ฉด ๋ชจ๋ฐ์ผ ๋๋ฐ์ด์ค ์์์ ์ ๋ณด๋ฅผ ์
๋ ฅํ ๋ ๊ทธ์ ํด๋นํ๋ ์ ๋ณด๋ฅผ ์ฝ๊ฒ ์์ฑํ ์ ์๋๋ก ์ ํ์ฐฝ์ ๋ณด์ฌ์ค๋ค.
- radio ์ ํ์ input๋ค์ name ์์ฑ ๊ฐ์ด ๊ฐ์ผ๋ฉด ํ ๋ฉ์ด๋ฆฌ๋ก ์ทจ๊ธํ๊ธฐ ๋๋ฌธ์ ๋ค์ค ์ ํ์ด ๋์ง ์๋๋ค.
๐ name, placeholder, autocomplete, required
- placeholder ์์ฑ์ ์ฌ์ฉํด input ์์์ ๊ฐ์ ์๋ฌด๊ฒ๋ ์
๋ ฅํ์ง ์์์ ๋ ํํธ๋ฅผ ๋ณด์ฌ์ค ์ ์๋ค.
- autocomplete ์์ฑ์ ์๋ ์์ฑ ๊ธฐ๋ฅ์ผ๋ก, ์ด์ ์ ์์ฑํ๋ ๋ฐ์ดํฐ ์์ฃผ๋ก ํ๋ณด๋ฅผ ๋ณด์ฌ์ค๋ค.
- required์ธ input ์์์ ๊ฐ์ ์
๋ ฅํ์ง ์์ผ๋ฉด ์ ์ถํ ์ ์๋ค.
๐ disabled, readonly
- disabled ์์ฑ์ ์ฌ์ฉ์๊ฐ ๊ฐ์ ์
๋ ฅํ์ง ๋ชปํ๊ณ , ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ์ง๋ ๋ชปํ๋ค.
- readonly ์์ฑ์ ์ฌ์ฉ์๊ฐ ๊ฐ์ ์
๋ ฅํ์ง ๋ชปํ์ง๋ง, ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ค. ๊ทธ๋์ ๋ณดํต ๊ธฐ๋ณธ ๊ฐ์ ์ค์ ํ๊ณ ์ฌ์ฉ์๊ฐ ์์ ์ ํ์ง ๋ชปํ๊ฒ ํ๋ ์ฉ๋๋ก ์ฌ์ฉํ๋ค.
<form action="" method="GET">
<input type="button" value="Add to favorites">
<button type="button">โ</button>
</form>
- input ์์์ ๋ฐ๋๋ก button ์์๋ ์์ ์์๋ฅผ ๊ฐ์ง ์ ์๊ธฐ ๋๋ฌธ์ ์คํ์ผ์ ์ ์ฉํ๊ธฐ ํจ์ฌ ์ฝ๋ค.
๐ select, option, optgroup
- option ์์์ ๋ด์ฉ์ ์ฌ์ฉ์์ UI ์ธก๋ฉด์์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ด๊ณ , value ์์ฑ์ ํตํด ์๋ฒ์ ์ ์กํ ๋ฐ์ดํฐ์ ๋ด์ฉ์ ์ง์ ํ ์ ์๋ค.
- ์ฒซ ๋ฒ์งธ option ์์๋ฅผ ์๋ด ๋ฌธ๊ตฌ๋ก์ ์ฌ์ฉํ๋ ค๋ฉด value ์์ฑ ๊ฐ์ ๋น ๋ฌธ์์ด๋ก ์ง์ ํด์ผ ํ๋ค. (์๋ด ๋ฌธ๊ตฌ ์ ํ ์ ์ ์ถ๋์ง ์๊ฒ ํ๊ธฐ ์ํจ)
๐ list, datalist
<label for="myBrowser">์๋ ๋ชฉ๋ก์์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ ํํ์ธ์:</label>
<input list="browsers" id="myBrowser" name="myBrowser" />
<datalist id="browsers">
<option value="Chrome">
<option value="Firefox">
<option value="Internet Explorer">
<option value="Opera">
<option value="Safari">
<option value="Microsoft Edge">
</datalist>
- ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ์ง์ ์์ ํ ์ ์๊ณ , ์ถ์ฒํ๋ ์ ํ์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์ถ๋ค๋ฉด select ์์๋ณด๋ค datalist ์์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
๐ textarea
- textarea ์์์ ๋ด๋ถ๋ pre ์์์ฒ๋ผ ์๋ํ๋ค.
- textarea ์์์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ๋๋ CSS์ width์ height ์์ฑ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
- ๋ณดํต rows ์์ฑ์ ์ฌ์ฉํด ๋ช์ค๊น์ง ๋ณด์ฌ์ค์ง ์ง์ ํ๋ค.
๐ง ๊ถ๊ธํ ๋ด์ฉ & ๋ถ์กฑํ ๋ด์ฉ
- input ์์์ ์ ํ ์ค์ reset์ด ์๋ค๋ ๊ฒ์ ์ฒ์ ์์๋๋ฐ, ๊ถ์ฅํ์ง ์๋๋ค๊ณ ์ ํ ์์๋ค. ๊ทธ๋ผ ์ด๊ธฐํ ๋ฒํผ์ ์ด๋ป๊ฒ ๊ตฌํํ๋ ๊ฒ์ด ์ข์๊น?
๐ ์๊ฐํ ์๊ฐ & ๋ ์ค๋ฅด๋ ์๊ฐ
- input ์์์์ ์ฌ์ฉ๋๋ ์์ฑ๋ค์ด ์๊ฐ๋ณด๋ค ๋ง์์ ๋ชจ๋ ์ธ์ฐ๋ ๊ฒ์ ํ๋ค ๊ฒ ๊ฐ๋ค. ํ์ํ ๋๋ง๋ค MDN ๋ด์ฉ์ ์ฐธ๊ณ ํด์ ์ฌ์ฉํ์!
๐ ์ฐธ๊ณ ๋ํผ๋ฐ์ค