πŸ”Ž HTML (4)

μ„œκ°€ν¬Β·2022λ…„ 3μ›” 31일
4

HTML

λͺ©λ‘ 보기
4/6
post-thumbnail

1. <Form> κΈ°λ³Έ 속성


폼은 정보λ₯Ό μž…λ ₯ν•˜λŠ” μ˜μ—­ (둜그인 ν™”λ©΄μ—μ„œ 아이디와 λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•˜λŠ” 것, νšŒμ› κ°€μž…ν•  λ•Œ 정보λ₯Ό μž…λ ₯ν•˜λŠ” 양식 등은 λͺ¨λ‘ 폼을 이용).

1-1. 폼 λ™μž‘ 방식

  1. μ›Ή νŽ˜μ΄μ§€μ— μžˆλŠ” form에 데이터λ₯Ό μž…λ ₯.
  2. μ›Ή νŽ˜μ΄μ§€ λ‚΄ μ•‘μ…˜μ΄ μΌμ–΄λ‚˜κ²Œ 되면 λ°μ΄ν„°λŠ” μ›Ή μ„œλ²„λ‘œ 이동.
  3. μ›Ή μ„œλ²„λŠ” 데이터λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ APP을 호좜. μ΄λ•Œ APP은 물리적으둜 λ³„λ„μ˜ μ„œλ²„μΌ μˆ˜λ„ 있음.
  4. ν•„μš”μ— 따라 APP은 DB둜 데이터λ₯Ό 전솑. μ΄λ•Œ DBλŠ” 물리적으둜 λ³„λ„μ˜ μ„œλ²„μΌ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
  5. DBμ—μ„œ CRUD μž‘μ—…μ΄ μΌμ–΄λ‚˜κ³  μž‘μ—… κ²°κ³Όλ₯Ό APP으둜, WEB으둜 전솑.
  6. μ›Ή μ„œλ²„λŠ” 받은 κ²°κ³Όλ₯Ό Client λΈŒλΌμš°μ €μ—κ²Œ 보냄.
  7. μ‚¬μš©μž λΈŒλΌμš°μ €λŠ” Response 받은 νŽ˜μ΄μ§€λ₯Ό λ Œλ”λ§ν•˜μ—¬ μ‚¬μš©μžμ—κ²Œ λ³΄μ—¬μ€Œ.

1-2. 폼의 속성

1. action

μž…λ ₯ 값을 전솑할 νŽ˜μ΄μ§€

2. method

폼의 데이터λ₯Ό 전솑할 방법을 μ •μ˜.
method의 속성
1. get
μ›Ή μ„œλ²„μ— 데이터λ₯Ό μš”μ²­ν•  λ•Œ μ‚¬μš©ν•˜λ©°, μ£Όμ†Œμ— 데이터λ₯Ό μž…λ ₯ν•˜λŠ” 방식
2. post
νŒŒμΌμ„ μ˜¬λ¦¬κ±°λ‚˜, λ³΄μ•ˆμ΄ ν•„μš”ν•œ 데이터λ₯Ό 전솑할 λ•Œ λ“± μ‚¬μš©. λ˜ν•œ, μ£Όμ†Œμ— μž…λ ₯ λ‚΄μš©μ΄ λ‚˜νƒ€λ‚˜μ§€ μ•Šλ„λ‘ 함
πŸ‘‰ get : url 둜 정보 보냄
post : body둜 정보 보냄

<form action="./013_form의_원리.html" method="post">
  <input type="text" name="userId">
  <input type="password" name="userPw">
  <button type="submit">Login</button>
</form>

λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 정보(아이디,νŒ¨μŠ€μ›Œλ“œ λ“±)λ₯Ό action에 μžˆλŠ” 곳에 정보λ₯Ό 보낸닀.

2. <input>


input은 μ‚¬μš©μžκ°€ λ‹€μ–‘ν•˜κ²Œ 폼 νƒœκ·Έμ— μž…λ ₯ν•  수 μžˆλŠ” 곡간을 λ§Œλ“€μ–΄ μ£Όκ³ , μ‚¬μš©μžμ—κ²Œ 정보λ₯Ό μž…λ ₯을 λ°›μŒ

2-1. input의 속성

πŸ“Œ required: radioλŠ” 첫번째 inputμ—λ§Œ μ„€μ •/ checkboxλŠ” ν•„μš”ν•œ input에 κ°œλ³„ μ„€μ •
πŸ“Œ checkbox λŠ” μ—¬λŸ¬κ°œ 선택 κ°€λŠ₯함
πŸ“Œ emailκ³Ό tel : μž…λ ₯ 양식 차이

2.2 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>

3. <label>


inputμ•žμ˜ ν…μŠ€νŠΈλ‘œ μ„€λͺ…ν•΄μ£ΌλŠ” μ—­ν• 
μ‹œκ° μž₯애인듀도 폼을 μ‚¬μš©ν•  수 μžˆλ„λ‘ μ‹œλ©˜ν‹±ν•œ μš”μ†Œ

for와 idκ°€ μ—°κ²°λ˜μ–΄μžˆμ–΄μ•Όν•¨

3-1. <label> 의 μ‚¬μš©λ²•

  1. ν…μŠ€νŠΈμ˜ μ„€λͺ…κ³Ό 폼 μž…λ ₯ λͺ¨λ‘λ₯Ό ν¬ν•¨ν•˜λŠ” 방식
<label>
   이름 :
   <input type="text" name="name">
</label>
  1. 폼 μž…λ ₯μ—μ„œ λΆ„λ¦¬ν•˜μ—¬ for 속성을 μ΄μš©ν•΄ λ ˆμ΄λΈ”μ„ μ§€μ •ν•˜λŠ” 방식
<label for="myName">이름 : </label>
<input type="text" name="name" id="myName">

πŸ“Œ labelμ—λŠ” id만 κ°€λŠ₯! (class X)
πŸ“Œ label의 for κ³Ό input id μΌμΉ˜ν•΄μ•Όν•¨ πŸ‘‰ λ ˆμ΄λΈ”κ³Ό 폼 컨트둀이 μ—°κ²°λ˜λ©΄ λ ˆμ΄λΈ”μ„ 선택해도 ν•΄λ‹Ήν•˜λŠ” 폼 컨트둀이 μ„ νƒλœ 것과 같이 μž‘λ™
πŸ“Œradioλ‚˜ checkbox type λ“±μ—μ„œ labelν…μŠ€νŠΈλ₯Ό λˆŒλŸ¬λ„ 체크가 됨(μ‚¬μš© 편리)

4. <select>


<select> μš”μ†ŒλŠ” λ“œλ‘­λ‹€μš΄ 리슀트 λ°•μŠ€λ₯Ό 생성. μ΄λ•Œ μ‚¬μš©μžκ°€ μ„ νƒν•΄μ•Όν•˜λŠ” 리슀트 λ°•μŠ€μ•ˆμ˜ μ•„μ΄ν…œμ„ λ§Œλ“€ λ•Œμ—λŠ” <option> νƒœκ·Έλ₯Ό μ‚¬μš©. λ‘˜μ€ μ…‹λšœμ…‹λšœ

<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>

4-1. <select>의 속성듀

  1. multiple="multiple" : multiple속성을 μ‚¬μš©ν•˜λ©΄ μ‚¬μš©μžκ°€ μ—¬λŸ¬κ°œμ˜ option μš”μ†Œλ₯Ό 선택할 수 있게 됨. 단, λ‹¨μˆœ ν΄λ¦­μœΌλ‘œλŠ” μ„ νƒλ˜μ§€ μ•ŠμœΌλ©° windows μ—μ„œλŠ” ctrl, OSX μ—μ„œλŠ” command λ²„νŠΌμ„ λˆ„λ₯΄κ³  클릭해야 μ—¬λŸ¬κ°œλ₯Ό 선택할 수 있음.
  2. size : size 속성을 톡해 λ“œλ‘­λ‹€μš΄ λ¦¬μŠ€νŠΈμ—μ„œ ν•œλ²ˆμ— 보여쀄 수 μžˆλŠ” option의 갯수λ₯Ό μ‘°μ ˆν•  수 있음. 슀크둀둜 κ°€λŠ₯

4-2. <option>의 속성듀

  1. value : <option> μš”μ†ŒλŠ” value 속성을 μ‚¬μš©ν•˜μ—¬ 선택값에 따라 μ„œλ²„μ— μ–΄λ– ν•œ 값을 전솑할지 μ„€μ • κ°€λŠ₯.
  2. selected : selected 속성은 νŽ˜μ΄μ§€κ°€ λ‘œλ”©λ˜κ³  λ‚œ λ’€ 기본으둜 μ„ νƒλ˜λŠ” μ˜΅μ…˜μ„ λ‚˜νƒ€λ‚΄λŠ”λ° μ‚¬μš©. selected μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ©΄ 첫번째 <option> 이 νŽ˜μ΄μ§€ λ‘œλ“œ μ‹œ μ„ νƒλ˜κ³ , 아무것도 μ„ νƒν•˜μ§€ μ•Šκ³  데이터λ₯Ό μ„œλ²„λ‘œ μ „μ†‘ν•˜λ©΄ 첫번째 <option> κ°’μ˜ value κ°€ 전솑. λ”°λΌμ„œ value="0"으둜 ν•˜κ³  μ„ νƒν•˜λŠ” 경우 μ‚¬μš©

βœ… name VS value

name은 'key'
valueλŠ” μ„œλ²„λ‘œ λ³΄λ‚΄μ§€λŠ” κ°’
methodκ°€ get일 λ•Œ url에 device(name)=아이폰(value)

πŸ“Œ μ„œλ²„μ— κ°’ μ•ˆ μ£ΌκΈ°

<option value="" selected>선택</option>

5. <fieldset>


fieldset μš”μ†Œλ₯Ό μ‚¬μš©ν•˜λ©΄ κ·Έ μžμ‹ μš”μ†Œλ‘œ μ‚¬μš©λ˜λŠ” 폼 μ»¨νŠΈλ‘€λ“€μ„ κ·Έλ£Ήν™” ν•  수 있음.
특히 폼 λ‚΄μš©μ΄ λ°©λŒ€ν•˜μ—¬ μ„Ήμ…˜λ³„λ‘œ λ‚˜λˆŒ ν•„μš”μ„±μ΄ μžˆμ„ 경우 μœ μš©ν•˜κ²Œ μ‚¬μš©.
sectionκ³Ό 같은 역할이라고 보면 될 λ“―

<!-- λΈŒλΌμš°μ €μ—μ„œ μ–΄λ–»κ²Œ ν‘œν˜„λ˜λŠ”μ§€ ν™•μΈν•΄λ³΄μ„Έμš” -->
<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>

6. <legend>


<legend> μš”μ†ŒλŠ” <fieldset> νƒœκ·Έ λ°”λ‘œ 뒀에 μœ„μΉ˜ν•˜λ©° 폼 그룹의 λͺ©μ μ„ λ‚˜νƒ€λ‚΄λŠ” 제λͺ©μ„ 의미. λ°˜λ“œμ‹œ <fieldset>의 첫번째 μžμ‹μœΌλ‘œ μ‚¬μš©!!!

7. <button>


<button> νƒœκ·ΈλŠ” 클릭 κ°€λŠ₯ν•œ λ²„νŠΌμ„ λ‚˜νƒ€λƒ„. λ²„νŠΌμ˜ λͺ¨μŠ΅μ„ λ‹€μ–‘ν•˜κ²Œ μ œμ–΄ν•˜κ³  λ²„νŠΌ 내뢀에 λ‹€λ₯Έ μžμ‹ μš”μ†Œλ₯Ό μΆ”κ°€ν•˜κ³  싢을 λ•Œ μ‚¬μš©.

7-1. button νƒœκ·Έμ˜ type

type은 λ²„νŠΌμ˜ 행동 방식을 μ„€μ •ν•˜λŠ” 속성.

  • submit: λ²„νŠΌμ΄ μ„œλ²„λ‘œ 양식 데이터λ₯Ό 제좜. μ§€μ •ν•˜μ§€ μ•Šμ€ 경우 기본값이며, μœ νš¨ν•˜μ§€ μ•Šμ€ 값일 λ•Œλ„ μ‚¬μš©. λ•Œλ¬Έμ— form 양식을 μ œμΆœν•˜κΈ° μœ„ν•œ μš©λ„κ°€ μ•„λ‹ˆλΌλ©΄ λ°˜λ“œμ‹œ type을 μ„ μ–Έ.
  • reset:Β <input type="reset">처럼, form의 λͺ¨λ“  값을 μ΄ˆκΈ°ν™”.
  • button: 클릭 κ°€λŠ₯ν•œ λ²„νŠΌ. μ‚¬μš©μžκ°€ κΈ°λŠ₯을 λΆ€μ—¬ν•˜κΈ° μ „κΉŒμ§€λŠ” 별 λ‹€λ₯Έ μž‘λ™μ„ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

<!-- 넀이버 메인 ν™”λ©΄μ˜ 검색 λ²„νŠΌ html ꡬ쑰 -->

<button id="search_btn" type="submit" title="검색">
   <span class="blind">검색</span>
   <span class="ico_search_submit"></span>
</button>

7-2. Input vs button

ν…μŠ€νŠΈ<button>Β μš”μ†ŒλŠ”Β [<input>](https://developer.mozilla.org/ko/docs/Web/HTML/Element/Input)Β μš”μ†Œλ³΄λ‹€ μŠ€νƒ€μΌμ„ μ μš©ν•˜κΈ° 훨씬 μˆ˜μ›”.Β <input>은 λ‹«λŠ” νƒœκ·Έκ°€ μ—†κΈ° λ•Œλ¬Έμ—Β valueΒ νŠΉμ„±μ— ν…μŠ€νŠΈ κ°’ 밖에 지정할 수 μ—†μ§€λ§Œ,Β <button>은 내뢀에 μ—¬λŸ¬κ°€μ§€ μžμ‹ 컨텐츠λ₯Ό μΆ”κ°€ν•  수 있고 μ—¬κΈ° 더해 ::after와 ::before 와 같은 가상 μš”μ†Œλ₯Ό μ‚¬μš©ν•˜λŠ” 것도 κ°€λŠ₯ν•©. 더 닀채둭고 멋진 μŠ€νƒ€μΌμ„ μ μš©ν•΄μ•Ό ν•œλ‹€λ©΄ <button> μš”μ†Œλ₯Ό μš°μ„ μ μœΌλ‘œ κ³ λ €ν•΄ λ³΄λŠ”κ²ƒμ΄ μ’‹λ‹€!

8. <textarea>


μ—¬λŸ¬ μ€„μ˜ textλ₯Ό μž…λ ₯받을 수 있음.

8.1 <textarea>의 μ£Όμš” 속성

  1. cols : textareaκ°€ 보여쀄 μž…λ ₯창의 넓이. 문자의 평균적인 넓이λ₯Ό κΈ°μ€€μœΌλ‘œ 함. μ–‘μˆ˜ κ°’λ§Œ μ‚¬μš©ν•  수 있으며 기본값은 20.
  2. rows : textarea μž…λ ₯ 창이 기본적으둜 보여쀄 μž…λ ₯ 쀄 수λ₯Ό 의미.
    μž…λ ₯받을 수 μžˆλŠ” 문자의 개수라고 μƒκ°ν•˜λ©΄ 됨
<textarea name="" id="" cols="40" μ—΄ rows="10" ν–‰ maxlength="10" minlength="5"></textarea>

9. <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>

10. μ‹€μŠ΅μ½”λ“œ


<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>form</title>
</head>
<body>
    <!-- actionμ—λŠ” λ„λ‹¬ν•˜λŠ” μ£Όμ†Œλ₯Ό μ λŠ”λ° μ•ˆμ μœΌλ©΄ 자기 μžμ‹  -->
    <form action="" method="get">
        <label for="id">아이디</label>
        <input type="text" name="아이디" id="id"><br>
        <label for="pw">νŒ¨μŠ€μ›Œλ“œ</label>
        <input type="password" name="νŒ¨μŠ€μ›Œλ“œ" id="pw"><br>
        <label for="male">남</label>
        <input type="radio" name="성별" id="male" value="남">
        <label for="female">μ—¬</label>
        <input type="radio" name="성별" id="female" value="μ—¬"><br>
        <p>즐겨 μ‚¬μš©ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄</p>
        <input type="checkbox" name="μ–Έμ–΄" id="python" value="Python"><label for="python">Python</label><br>
        <input type="checkbox" name="μ–Έμ–΄" id="python" value="Javascript"><label for="python">Javascript</label><br>
        <input type="checkbox" name="μ–Έμ–΄" id="python" value="C"><label for="python">C</label><br>
        <input type="submit" value="νšŒμ›κ°€μž…">
    </form>
</body>
</html>

πŸ“Œ 자주 μ‚¬μš©λ˜λŠ” 속성

  • checked : μ²΄ν¬μƒνƒœ ν‘œμ‹œ
  • required : ν•„μˆ˜κ°’
  • min : μ΅œμ†Ÿκ°’
  • max :Β μ΅œλŒ“κ°’
  • value : μž…λ ₯된 κ°’
  • placeholder : μž…λ ₯κ°’ 힌트
  • minlength : μ΅œμ†Œ 길이
  • maxlength : μ΅œλŒ€ 길이

2개의 λŒ“κΈ€

comment-user-thumbnail
2022λ…„ 3μ›” 31일

정리왕 πŸ”₯πŸ”₯πŸ”₯

λ‹΅κΈ€ 달기
comment-user-thumbnail
2022λ…„ 3μ›” 31일

였늘의 λ³΅μŠ΅μ€ 이 κΈ€λ‘œ...!!!!!!!!!!!!

λ‹΅κΈ€ 달기