JavaScript(5)

zooyeongยท2023๋…„ 3์›” 16์ผ

7์ฃผ์ฐจ

๋ชฉ๋ก ๋ณด๊ธฐ
6/7
post-thumbnail

๐Ÿ’กํผ ์กฐ์ž‘

๐Ÿ“–form ํƒœ๊ทธ ์„ ํƒํ•˜๊ธฐ

  • forms ์†์„ฑ ์‚ฌ์šฉ : ๋ชจ๋“  form ํƒœ๊ทธ๋ฅผ ์ฐธ์กฐํ•˜๋Š” HTMLCollection ๊ฐ์ฒด๊ฐ€ ๋ฐ˜ํ™˜๋˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉ์— form ์š”์†Œ ๋…ธ๋“œ๋ฅผ ์„ ํƒ
  • name ์†์„ฑ ์‚ฌ์šฉ : form ํƒœ๊ทธ์˜ name ์†์„ฑ๊ฐ’์œผ๋กœ form ์š”์†Œ ๋…ธ๋“œ๋ฅผ ์„ ํƒ
  <form id="form1">
    <p>form1</p>
    <input type="text">
  </form>

  <form class="form2">
    <p>form2</p>
    <input type="text">
  </form>

  <form name="form3">
    <p>form3</p>
    <input type="text">
  </form>

๐Ÿ”ฝconsole


๐Ÿ“–form ์š”์†Œ ์„ ํƒํ•˜๊ธฐ

  • elements ์†์„ฑ ์‚ฌ์šฉ : form ์š”์†Œ ๋…ธ๋“œ์˜ ํ•˜์œ„ ๋…ธ๋“œ ์ค‘ ํผ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋ฐ˜ํ™˜๋œ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐœ๋ณ„ ํผ ์š”์†Œ ๋…ธ๋“œ์— ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผ
  • name ์†์„ฑ ์‚ฌ์šฉ : form ์š”์†Œ์˜ name ์†์„ฑ๊ฐ’์œผ๋กœ ํผ ์š”์†Œ ๋…ธ๋“œ์— ๋ฐ”๋กœ ์ ‘๊ทผ
<form name="frm1">
  <label for="uname">์ด๋ฆ„</label>
  <input type="text" id="uname" name="uname">
  <label for="age">๋‚˜์ด</label>
  <input type="text" id="age" name="age">
  <label for="gender">์„ฑ๋ณ„</label>
  <select id="gender" name="gender">
    <option value="male">male</option>
    <option value="female">female</option>
  </select>
  <button type="submit">์ „์†ก</button>
</form>

๐Ÿ”ฝconsole


๐Ÿ“–form ์š”์†Œ์˜ ์ž…๋ ฅ๊ฐ’ ๋‹ค๋ฃจ๊ธฐ

ํ•œ ์ค„ ์ž…๋ ฅ ์š”์†Œ(or ์—ฌ๋Ÿฌ ์ค„ ์ž…๋ ฅ ์š”์†Œ)

  • value ์†์„ฑ ์ฐธ์กฐ : ์ž…๋ ฅํ•œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๊ธฐ
  • value ์†์„ฑ์— ๊ฐ’ ํ• ๋‹น : ์ƒˆ๋กœ์šด ๊ฐ’์„ ์„ค์ •

์ฒดํฌ๋ฐ•์Šค ์š”์†Œ or ๋ผ๋””์˜ค๋ฒ„ํŠผ ์š”์†Œ

  • checked ์†์„ฑ : ์ฒดํฌ ๋˜๋Š” ์„ ํƒ ์ƒํƒœ๋ฅผ ํ™•์ธ(์„ ํƒ๋˜์–ด์žˆ์œผ๋ฉด true๋ฅผ, ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜)
  • checked ์†์„ฑ์— true ํ• ๋‹น : ์ฒดํฌ ๋˜๋Š” ์„ ํƒ ์ƒํƒœ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •
<div>
	<input class="bab" type="checkbox" value="morn">์•„์นจ
    <input class="bab" type="checkbox" value="lunc">์ ์‹ฌ
    <input class="bab" type="checkbox" value="denn">์ €๋…
</div>

//๋ธŒ๋ผ์šฐ์ €์—์„œ ์•„์นจ, ์ ์‹ฌ๋งŒ ์ฒดํฌํ•ด๋‘” ์ƒํƒœ.
//โ†“์ฒดํฌ๋ฐ•์Šค ์ €๋…์— ํ•ด๋‹นํ•˜๋Š” 2์ธ๋ฑ์Šค๋งŒ false๋ฅผ ๋ฐ˜ํ™˜. true๋ฅผ ํ• ๋‹นํ•ด์„œ ์ฒดํฌ ์ƒํƒœ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ฌradio๋ฒ„ํŠผ : ์—ฌ๋Ÿฌ radio ํƒ€์ž…์ด ๊ฐ™์€ name์„ ๊ฐ€์งˆ ๋•Œ๋Š” ๊ทธ ์ค‘ ํ•˜๋‚˜๋งŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.

<div>
	<input type="radio" value="S" name="size">์†Œ
	<input type="radio" value="M" name="size">์ค‘
	<input type="radio" value="L" name="size">๋Œ€
	<button type="button" onclick="sizeCheck()">์„ ํƒํ•œ ์‚ฌ์ด์ฆˆํ™•์ธ</button>
</div>
<script>
  function sizeCheck(){
  	const radios = document.querySelectorAll('input[type="radio"]');
  	for(let i=0; i<radios.length; i++){
    	if(radios[i].checked == true){
      		console.log(radios[i].value);
    	}
  	}
  }
</script>

์ฝค๋ณด๋ฐ•์Šค ์š”์†Œ

<div>
  <select id="memory">
    <option value="4">4GB</option>
    <option value="8">8GB</option>
    <option value="16">16GB</option>
    <option value="32">32GB</option>
  </select>
</div>

//๋ธŒ๋ผ์šฐ์ €์—์„œ 8GB๋ฅผ ์„ ํƒํ•ด ๋‘” ์ƒํƒœ
//โ†“8GB์— ํ•ด๋‹นํ•˜๋Š” 1์ธ๋ฑ์Šค๋งŒ true๋ฅผ ๋ฐ˜ํ™˜


๐Ÿ”ฅ์—ฐ์Šต๋ฌธ์ œ-๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ์ƒํƒœ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

<body>
  <div class="container">
    <div id="main">
      <p id="p1">p1 ํ…์ŠคํŠธ</p>
      <p id="p2">p2 ํ…์ŠคํŠธ</p>
    </div>
  </div>
  <button onclick="changeMain()">main ๋ฐฐ๊ฒฝ์ƒ‰ gray๋กœ ๋ณ€๊ฒฝ</button>
  <button onclick="changeP1()">p1 ๊ธ€์ž์ƒ‰ red๋กœ ๋ณ€๊ฒฝ</button>
  <button onclick="changeP2()">"p2 ํ…์ŠคํŠธ"๋ฅผ "p2 ๊ธ€์ž" ๋กœ ๋ณ€๊ฒฝ</button>

  <script>
    function changeMain(){
      document.querySelector('#main').style.backgroundColor = 'gray';
    }

    function changeP1(){
      document.querySelector('#p1').style.color = 'red';
    }

    function changeP2(){
      document.querySelector('#p2').innerText = 'p2 ๊ธ€์ž';
    }
  </script>
</body>

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ

profile
Have a good day โŒฏโ€™โ–พโ€™โŒฏ

0๊ฐœ์˜ ๋Œ“๊ธ€