potatos
𝕝𝕒𝕦𝕣𝕦𝕀
potatos
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기
    • Daily
    • Study
      • CS
      • Network
      • Windows
      • Linux
      • HTML & CSS
      • JavaScript
      • React
      • vue.js
      • Flutter
      • DataBase
      • Elastic Se..
      • Log
      • Coding Tes..
    • Work
      • PC
      • Mobile
      • JPGIF

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

  • notice

인기 κΈ€

νƒœκ·Έ

  • JavaScript
  • MySQL
  • Linux
  • μ…€λ ‰ν„°
  • CSS
  • HTML
  • μžλ°”μŠ€ν¬λ¦½νŠΈ
  • Windows
  • μœˆλ„μš°
  • 수직 μ •λ ¬

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
potatos

𝕝𝕒𝕦𝕣𝕦𝕀

Study/HTML & CSS

[HTML] μž…λ ₯ 양식 (Form)

2022. 7. 12. 15:35

μž…λ ₯ 양식 (Form)의 κΈ°λ³Έ ꡬ성

  • μž…λ ₯ μ–‘μ‹μ΄λž€, 전체 μ˜μ—­μ„ μ •μ˜ν•˜κΈ° μœ„ν•œ <form> νƒœκ·Έ μ•ˆμ— μž…λ ₯ ν•­λͺ©μ˜ 그룹을 μœ„ν•œ <fieldset> νƒœκ·Έκ°€ ν¬ν•¨λœ ν˜•νƒœλ‘œ μ •μ˜λœλ‹€.
  • <fieldset> νƒœκ·Έ μ•ˆμ—μ„œλŠ” 그룹의 제λͺ© 지정을 μœ„ν•΄ <legend> νƒœκ·Έκ°€ μ‚¬μš©λ  수 μžˆλ‹€.
  • <fieldset>은 μž…λ ₯ 양식 μ˜μ—­ μ•ˆμ—μ„œ 그룹을 ν˜•μ„±ν•˜λ©°, ν•„μˆ˜μ μΈ 사항은 μ•„λ‹ˆλ‹€.
<body>
	<!-- μž…λ ₯ λ‚΄μš©μ„ 감싸기 μœ„ν•œ λΆ€λΆ„ -->
	<form>
		<!-- μž…λ ₯ λ‚΄μš©μ— λŒ€ν•œ ꡬ룹을 λͺ…μ‹œν•˜λŠ” λΆ€λΆ„ -->
			<fieldset>
					<!-- 그룹의 제λͺ© -->
					<legend>λ‚΄μš© μž…λ ₯ν•˜κΈ°</legend>
			</fieldset>
	<form>
</body>

<form> νƒœκ·Έ

  • μž…λ ₯ μ–‘μ‹μ˜ μ˜μ—­μ„ μ§€μ •ν•˜λ©°, λͺ¨λ“  νƒœκ·Έκ°€ 내뢀에 배치될 수 μžˆλ‹€.
<form action = "http://localhost:5050/form.html" accept-charse="uft-8" name = "first_form" method = "get" target = "_blank">
	
</form>
속성 μ„€λͺ…
method 폼을 μ„œλ²„μ— 전솑할 http λ©”μ„œλ“œλ₯Ό μ§€μ •
(GET / POST / PUT / DELETE)
action 폼을 전솑할 μ„œλ²„ μͺ½ 슀크립트 파일 μ§€μ •
name 폼을 μ‹λ³„ν•˜κΈ° μœ„ν•œ 이름 μ§€μ •
accept-charset 폼 전솑에 μ‚¬μš©ν•  문자 인코딩 μ§€μ •
target actionμ—μ„œ μ§€μ •ν•œ 슀크립트 νŒŒμΌμ„ ν˜„μž¬ 창이 μ•„λ‹Œ λ‹€λ₯Έ μœ„μΉ˜μ— 열도둝 μ§€μ • ("_blank")

<input> νƒœκ·Έ

  • 속성을 μ–΄λ–»κ²Œ μ‚¬μš©ν•˜λŠλƒμ— 따라 ν˜•νƒœκ°€ λ°”λ€Œλ©°, 마침 νƒœκ·Έκ°€ μ—†μ–΄ λ‚˜νƒ€λ‚˜μ•Ό ν•  λ‚΄μš©μ€ value에 λ°”λ‘œ μž…λ ₯λœλ‹€.

<input> νƒœκ·Έμ˜ κΈ°λ³Έ 속성

<input name="이름(μ˜μ–΄)" id="μ‹λ³„μž(μ˜μ–΄)" type="μ’…λ₯˜" [value="κΈ°λ³Έκ°’"] [maxlength="숫자"] [placeholder="μ„€λͺ…"] />
속성 μ„€λͺ…
name νƒœκ·Έμ˜ 이름을 μ§€μ •ν•˜λŠ” 속성이며, ν•œ νŽ˜μ΄μ§€ μ•ˆμ—μ„œ κ³ μœ ν•œ 값을 λͺ…μ‹œν•΄μ•Ό ν•œλ‹€.
id νƒœκ·Έλ₯Ό μ‹λ³„ν•˜κΈ° μœ„ν•œ μ†μ„±μœΌλ‘œ, ν•œ νŽ˜μ΄μ§€ μ•ˆμ—μ„œ κ³ μœ ν•œ 값을 λͺ…μ‹œν•΄μ•Ό ν•œλ‹€.
type νƒœκ·Έμ˜ μ“°μž„μ— 따라 λͺ¨μ–‘을 λ‹€μ–‘ν•˜κ²Œ λ³€κ²½ν•  수 μžˆλ‹€.
text, radio, checkbox, password, button, hidden, file, submit, reset λ“± μ§€μ • κ°€λŠ₯
value ν•΄λ‹Ή μš”μ†Œμ— 기본적으둜 μž‘μ„±λ˜μ–΄ μžˆμ„ 값을 μ§€μ •ν•œλ‹€.
maxlength μ΅œλŒ€ μž…λ ₯ κ°€λŠ₯ν•œ κΈ€μž 수λ₯Ό μ œν•œν•œλ‹€
placehoder 값이 μž…λ ₯되기 μ „, 보이게 될 μ„€λͺ…글을 μ§€μ •ν•œλ‹€.
readonly 읽기 μ „μš©μœΌλ‘œ μ§€μ •ν•œλ‹€.
disabled μ‚¬μš© λΆˆκ°€λ‘œ μ§€μ •ν•œλ‹€.
size μž…λ ₯ ν•„λ“œμ˜ 크기λ₯Ό μ§€μ •ν•œλ‹€.
autocomplete μž…λ ₯ ν•„λ“œκ°€ μžλ™ μ™„μ„± κΈ°λŠ₯을 지원할 지에 λŒ€ν•œ μ—¬λΆ€λ₯Ό μ§€μ •ν•œλ‹€.
novalidate 제좜 μ‹œ, λ°μ΄ν„°μ˜ μœ νš¨μ„± 검사가 없도둝 μ§€μ •ν•œλ‹€.
reauired boolean μ†μ„±μœΌλ‘œ, μž…λ ₯ ν•„λ“œλ₯Ό ν•„μˆ˜ μž…λ ₯ ν•„λ“œλ‘œ μ§€μ •ν•œλ‹€.
pattern μ •κ·œ ν‘œν˜„μ‹μ„ μ‚¬μš©ν•˜μ—¬, νŠΉμ • λ²”μœ„ λ‚΄μ˜ μœ νš¨ν•œ 값을 μž…λ ₯받을 λ•Œ μ‚¬μš©ν•œλ‹€.
autofocus νŽ˜μ΄μ§€ λ‘œλ“œ μ‹œ, μžλ™μ μœΌλ‘œ ν•΄λ‹Ή input μš”μ†Œμ— focusκ°€ 가도둝 μ§€μ •ν•œλ‹€.

type 속성 κ°’μ˜ μ’…λ₯˜

type 속성 κ°’ μ„€λͺ…
text ν…μŠ€νŠΈ μž…λ ₯
password λΉ„λ°€λ²ˆν˜Έ μž…λ ₯
ν™”λ©΄μ—λŠ” μž…λ ₯받은 λ¬Έμžλ‚˜ μˆ«μžκ°€ λ³„ν‘œλ‚˜ μž‘μ€ 원 λͺ¨μ–‘μœΌλ‘œ ν‘œμ‹œλœλ‹€.
email 이메일 μž…λ ₯
λΈŒλΌμš°μ € 지원에 따라, 폼이 제좜될 λ•Œ 이메일 μ£Όμ†Œκ°€ μžλ™μœΌλ‘œ μœ νš¨μ„± 검사가 λœλ‹€.
url URL μ£Όμ†Œ μž…λ ₯
λΈŒλΌμš°μ € 지원에 따라, 폼이 제좜될 λ•Œ URL ν•„λ“œμ˜ 값이 μžλ™μœΌλ‘œ μœ νš¨μ„± 검사가 λœλ‹€.
search 검색창
tel μ „ν™”λ²ˆν˜Έ μž…λ ₯
number 숫자 κ°’ μž…λ ₯
range 값이 λ²”μœ„ μ•ˆμ— μžˆμ–΄μ•Ό ν•˜λŠ” μž…λ ₯ ν•„λ“œμ— μ‚¬μš©
λΈŒλΌμš°μ €μ˜ 지원에 따라, μŠ¬λΌμ΄λ“œ μ»¨νŠΈλ‘€μ΄λΌλŠ” λ°”μ˜ ν˜•νƒœλ‘œ 슀크둀 ν‘œμ‹œκ°€ λœλ‹€.
radio μ—¬λŸ¬ 개의 μ˜΅μ…˜ 쀑, 단 ν•˜λ‚˜μ˜ μ˜΅μ…˜μ„ μž…λ ₯
checkbox μ—¬λŸ¬ 개의 μ˜΅μ…˜ 쀑, λ‹€μˆ˜μ˜ μ˜΅μ…˜μ„ μž…λ ₯
submit μ‚¬μš©μžλ‘œλΆ€ν„° μž…λ ₯받은 데이터λ₯Ό μ „μ†‘ν•˜λŠ” λ²„νŠΌ
button μ‚¬μš©μžκ°€ λˆ„λ₯Ό 수 μžˆλŠ” λ²„νŠΌ
image 전솑 λ²„νŠΌμœΌλ‘œ μ‚¬μš©λ  이미지
ν…μŠ€νŠΈκ°€ μ•„λ‹Œ 이미지 ν˜•νƒœλ‘œ 된 submit λ²„νŠΌμ„ μƒμ„±ν•˜λ©°, μ΄λ•Œ ν•΄λ‹Ή 이미지 κ²½λ‘œλŠ” src μ†μ„±μœΌλ‘œ λͺ…μ‹œν•΄μ•Ό ν•œλ‹€.
reset λͺ¨λ“  form μš”μ†Œμ˜ μž…λ ₯ 값을 μ΄ˆκΈ°κ°’μœΌλ‘œ λ˜λŒλ¦¬λŠ” λ²„νŠΌ
date λ‚ μ§œ μž…λ ₯
λΈŒλΌμš°μ € 지원에 따라, λ‚ μ§œ 선택기 (date picker)둜 ν‘œμ‹œλœλ‹€.
week 주와 연도 μž…λ ₯
λΈŒλΌμš°μ € 지원에 따라, λ‚ μ§œ 선택기 (date picker)둜 ν‘œμ‹œλœλ‹€.
month μ›”κ³Ό 연도 μž…λ ₯
λΈŒλΌμš°μ € 지원에 따라, λ‚ μ§œ 선택기 (date picker)둜 ν‘œμ‹œλœλ‹€.
time μ‹œκ°„ μž…λ ₯
λΈŒλΌμš°μ € 지원에 따라, μ‹œκ°„ 선택기 (time picker)둜 ν‘œμ‹œλœλ‹€.
datetime-local λ‚ μ§œμ™€ μ‹œκ°„ μž…λ ₯
λΈŒλΌμš°μ € 지원에 따라, λ‚ μ§œ 선택기 (date picker)와 μ‹œκ°„ 선택기 (time picker)이 합쳐진 λͺ¨μŠ΅μœΌλ‘œ ν‘œμ‹œλœλ‹€.
hidden 보이지 μ•ŠλŠ” μˆ¨κ²¨μ§„ μž…λ ₯ ν•„λ“œλ₯Ό μ •μ˜
폼 제좜 μ‹œ, μ‚¬μš©μžκ°€ λ³€κ²½ν•΄μ„œλŠ” μ•ˆ λ˜λŠ” 데이터λ₯Ό ν•¨κ»˜ 보낼 λ•Œ μ‚¬μš©
file 파일 μ°ΎκΈ°(선택) λ²„νŠΌ
color 색상 μž…λ ₯
λΈŒλΌμš°μ € 지원에 따라, 색상 μ„ νƒκΈ°λ‘œ ν‘œμ‹œλœλ‹€.

<label>

  • μž…λ ₯ μš”μ†Œ μ•žμ΄λ‚˜ 뒀에 ν‘œμ‹œλ˜λŠ” 제λͺ©μ„ κ΅¬μ„±ν•œλ‹€.
  • <label>κ³Ό <input>의 μˆœμ„œλŠ” 변경될 수 있으며, λ°˜λ“œμ‹œ 연달아 ν‘œμ‹œλ  ν•„μš”λŠ” μ—†λ‹€.
  • <label>에 λΆ€μ—¬ν•œ id κ°’κ³Ό <input>에 λΆ€μ—¬ν•œ id 값은 μ—°λ™λœλ‹€.
<label for="inputμš”μ†Œμ— λΆ€μ—¬ν•œ idκ°’">...제λͺ©...</label>
<input name="이름(μ˜μ–΄)" id="μ‹λ³„μž(μ˜μ–΄)" type="μ’…λ₯˜" [value="κΈ°λ³Έκ°’"] [maxlength="숫자"] [checked] />

radio & checkbox

  • 두 개 μ΄μƒμ˜ μš”μ†Œκ°€ ν•˜λ‚˜μ˜ 그룹으둜 λ¬Άμ—¬μ•Ό ν•˜λ―€λ‘œ, name μ†μ„±μ˜ 값이 동일해야 ν•œλ‹€.
<div class="name_form">
    <label for="name">이름</label>
    <input name="name" id="name" type="radio" value="κΉ€μ² μˆ˜" checked /> κΉ€μ² μˆ˜
    <input name="name" id="name2" type="radio" value="홍길동" /> 홍길동
    <input name="name" id="name3" type="radio" value="κΉ€μˆ˜μ² " /> κΉ€μˆ˜μ² 
    <input name="name" id="name4" type="radio" value="κΉ€μ˜μš°" /> κΉ€μ˜μš°
</div>

 

λͺ©λ‘ νƒœκ·Έ

<select>

  • ν•­λͺ©μ„ 선택할 수 μžˆλŠ” νƒœκ·Έλ‘œ, 속성은 size와 multiple이 μžˆλ‹€.
    • size: ν•œ λ²ˆμ— ν‘œμ‹œν•  ν•­λͺ©μ˜ 수
    • multiple: 닀쀑 선택 ν—ˆμš© 유무
      • Ctrlμ΄λ‚˜ Shiftν‚€λ₯Ό λˆ„λ₯Έ μƒνƒœμ—μ„œ 두 개 μ΄μƒμ˜ ν•­λͺ©μ„ 선택할 수 μžˆλŠ”λ°, Dropdownμ—μ„œλŠ” 잘 λ˜μ§€ μ•ŠλŠ”λ‹€.

<option>

  • <select> νƒœκ·Έ ν•˜μœ„μ— μ‘΄μž¬ν•˜λŠ” νƒœκ·Έλ‘œ, λͺ©λ‘μ„ λ‚˜νƒ€λ‚΄λ©°, μ†μ„±μœΌλ‘œλŠ” value와 selectedκ°€ μžˆλ‹€.
    • value: ν•΄λ‹Ή ν•­λͺ©μ΄ μ„ νƒλ˜μ—ˆμ„ λ•Œ, ν”„λ‘œκ·Έλž¨μ΄ 인식할 λ‚΄μš©
    • selected: ν•΄λ‹Ή <option> μš”μ†Œλ₯Ό 기본적으둜 선택
      • λ§Œμ•½, μ—¬λŸ¬ 개의 <option> μš”μ†Œκ°€ 이 속성을 κ°–κ³  μžˆλ‹€λ©΄ 맨 λ§ˆμ§€λ§‰ ν•­λͺ©μ΄ μ„ νƒλœ μƒνƒœλ‘œ ν‘œμ‹œ

<optgroup>

  • <select> νƒœκ·Έ μ•ˆμ˜ <option> λͺ©λ‘λ“€μ„ κ·Έλ£Ήν™”ν•  λ•Œ μ‚¬μš©ν•œλ‹€.
    • <option> μš”μ†Œλ“€μ΄ 이 μ•ˆμ— ν¬ν•¨λœλ‹€.
  • label 속성을 μ‚¬μš©ν•˜μ—¬ κ·Έλ£Ή 이름을 μ§€μ •ν•œλ‹€.
<form>
	<select name="age">
        <optgroup label="10λŒ€">
            <option value="18">18μ„Έ</option>
            <option value="19">19μ„Έ</option>
        </optgroup>
        <optgroup label="20λŒ€">
            <option value="20">20μ„Έ</option>
            <option value="21">21μ„Έ</option>
            <option value="22">22μ„Έ</option>
        </optgroup>
    </select>
</form>

파일 첨뢀

  • type 속성을 file둜 값을 μ£Όλ©΄, μ›Ή ν”„λ‘œκ·Έλž¨μœΌλ‘œ νŒŒμΌμ„ 전솑할 수 μžˆλ„λ‘ 찾아보기 λ²„νŠΌμ΄ ν‘œμ‹œλœλ‹€.
    • ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ 파일만 첨뢀 κ°€λŠ₯
  • λ°˜λ“œμ‹œ <form> νƒœκ·Έμ— enctype="multipart/form-data" 속성이 λͺ…μ‹œλ˜μ–΄μ•Ό ν•œλ‹€.
  • λΈŒλΌμš°μ €μ˜ λ³΄μ•ˆμ„ μœ„ν•΄, 이 μš”μ†Œμ—μ„œλŠ” value 속성 κ°’ 지정이 λΆˆκ°€ν•˜λ‹€.
<form enctpe="multipart/form-data">
    <fieldset>
        <legend>νŒŒμΌμ²¨λΆ€</legend>
        <div>
            <label for="photo">사진선택</lable>
            <input type="file" name="photo" id="photo" />
        </div>
    </fieldset>
</form>

데이터 전솑

λ²„νŠΌ ν‘œμ‹œ

  • type 속성에 따라 λ²„νŠΌμ˜ νŠΉμ„±μ΄ κ²°μ •λœλ‹€.
    • submit: μ‚¬μš©μžκ°€ μž…λ ₯ν•œ form μš”μ†Œμ˜ λ‚΄μš©λ“€μ„ μ›Ή ν”„λ‘œκ·Έλž¨μ—κ²Œ 전솑
    • button: μ•„λ¬΄λŸ° λ™μž‘μ΄ μ—†μœΌλ©°, 일반적으둜 JS와 μ—°κ²°ν•˜μ—¬ νŠΉμ • λ™μž‘μ„ κ΅¬ν˜„
    • reset: μ‚¬μš©μžκ°€ μž…λ ₯ν•œ λͺ¨λ“  λ‚΄μš© μ΄ˆκΈ°ν™”
    • image: λ²„νŠΌμ— 이미지λ₯Ό ν‘œμ‹œν•˜λ©°, submitκ³Ό λ™μΌν•œ νŠΉμ„±
      • value 속성 λŒ€μ‹  src 속성 μ‚¬μš©
<input type="submit|button|reset|image value="λ²„νŠΌ ν‘œμ‹œ ν…μŠ€νŠΈ" [src="μ΄λ―Έμ§€κ²½λ‘œ"] />

데이터λ₯Ό μ›Ή ν”„λ‘œκ·Έλž¨μœΌλ‘œ 전솑

  • <form> μš”μ†Œ λ‚΄μ˜ submit λ²„νŠΌμ΄ λˆŒλŸ¬μ§€λ©΄, ν˜„μž¬ <form> μš”μ†Œ μ•ˆμ— μ‚¬μš©μžκ°€ μž…λ ₯ν•œ λͺ¨λ“  λ‚΄μš©λ“€μ΄ action 속성에 λͺ…μ‹œν•˜λŠ” μ›Ή ν”„λ‘œκ·Έλž¨ νŽ˜μ΄μ§€λ‘œ μ „μ†‘λœλ‹€.
    • μ‚¬μš©μžμ˜ μž…λ ₯ 값을 전달받은 μ›Ή ν”„λ‘œκ·Έλž¨μ€ μž…λ ₯, μˆ˜μ •, μ‚­μ œ λ“±μ˜ 처리 μˆ˜ν–‰
    • μ΄λŸ¬ν•œ μ²˜λ¦¬λŠ” ASP, JSP, PHP λ“±μ˜ μ›Ή ν”„λ‘œκ·Έλž¨μœΌλ‘œ κ΅¬ν˜„
  • enctype 속성은 μž…λ ₯ 양식 μ•ˆμ— 파일 첨뢀 κΈ°λŠ₯이 ν¬ν•¨λ˜μ–΄ μžˆλŠ” 경우, λ°˜λ“œμ‹œ μ§€μ •ν•΄μ•Ό ν•œλ‹€.
  • method 속성은 전솑 방식을 μ˜λ―Έν•œλ‹€.
    • get: μž…λ ₯된 λͺ¨λ“  λ‚΄μš©μ΄ λΈŒλΌμš°μ €μ— μ˜ν•΄ cash λ˜μ–΄ 전솑
    • post: μž…λ ₯된 λ‚΄μš©μ΄ λ³„λ„λ‘œ μ²¨λΆ€λ˜μ–΄ λΈŒλΌμš°μ €μ— μ˜ν•΄ cash λ˜μ§€ μ•Šκ³  전솑
<form name="form1" method="get" action="result.html">
    <fieldset>
        <legend>이름 μž…λ ₯ν•˜κΈ°</legend>
        <div>
            <label for="user_name">이름: </label>
            <input type="text" name="user_name" id="user_name" />
        </div>
        <div>
            <input type="submit" value="μž…λ ₯μ™„λ£Œ">
            <input type="reset" value="λ‹€μ‹œμž‘μ„±">
            <input type="button" value="μΌλ°˜λ²„νŠΌ">
            <input type="image" src="img/ok.png" alt="μž…λ ₯μ™„λ£Œ">
        </div>
    </fieldset>
</form>

'Study > HTML & CSS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[CSS] 색 (Color)  (0) 2022.07.12
[CSS] κΈ°λ³Έ μ…€λ ‰ν„° (Selector)  (0) 2022.07.12
[HTML] λ©€ν‹°λ―Έλ””μ–΄  (0) 2022.07.12
[HTML] ν…μŠ€νŠΈ (Text)  (0) 2022.07.12
[HTML] ν…Œμ΄λΈ” (Table)  (0) 2022.07.12
    'Study/HTML & CSS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [CSS] 색 (Color)
    • [CSS] κΈ°λ³Έ μ…€λ ‰ν„° (Selector)
    • [HTML] λ©€ν‹°λ―Έλ””μ–΄
    • [HTML] ν…μŠ€νŠΈ (Text)
    potatos
    potatos

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”