HTML_Form μ΄λž€?

jjyu_myΒ·2024λ…„ 1μ›” 19일

HTML & CSS

λͺ©λ‘ 보기
7/19
post-thumbnail

πŸ“Œ Form(폼) μ΄λž€?

μ›Ή νŽ˜μ΄μ§€μ—μ„œ μ‚¬μš©μžλ‘œλΆ€ν„° 정보λ₯Ό μž…λ ₯λ°›μ•„ μ„œλ²„λ‘œ μ œμΆœν•˜κΈ° μœ„ν•œ μš”μ†Œμž…λ‹ˆλ‹€.
μ‚¬μš©μžκ°€ μ›Ή νŽ˜μ΄μ§€μ— 정보λ₯Ό μž…λ ₯ν•˜κ³ , 이λ₯Ό μ„œλ²„λ‘œ μ „μ†‘ν•˜μ—¬ μ²˜λ¦¬ν•  수 μžˆλ„λ‘ ν•˜λŠ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.


1️⃣ μ£Όμš” 속성

  • μ•‘μ…˜(Action): 폼 데이터λ₯Ό 전솑할 μ„œλ²„ μͺ½ 슀크립트 파일의 URL을 μ§€μ •ν•©λ‹ˆλ‹€.
  • λ©”μ†Œλ“œ(Method): HTTP λ©”μ†Œλ“œλ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.
  • GET:
    데이터λ₯Ό URL에 ν¬ν•¨μ‹œμΌœ μ „μ†‘ν•˜λ©°, μ£Όμ†Œμ°½μ— 데이터가 λ…ΈμΆœλ©λ‹ˆλ‹€. (λ³΄μ•ˆμ— μ·¨μ•½)
  • POST:
    데이터λ₯Ό HTTP μš”μ²­ 본문에 λ‹΄μ•„ μ „μ†‘ν•˜λ©°, μ£Όμ†Œμ°½μ— 데이터가 λ…ΈμΆœλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. (λ³΄μ•ˆ κ°•ν™”)
  • 아이디(ID): 폼의 μ‹λ³„μžλ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

2️⃣ μ£Όμš” 폼 μš”μ†Œ

  • < input> νƒœκ·Έ: κ°€μž₯ λŒ€ν‘œμ μΈ 폼 μš”μ†Œλ‘œ, λ‹€μ–‘ν•œ νƒ€μž…μœΌλ‘œ μ‚¬μš©λ©λ‹ˆλ‹€.

  • νƒ€μž…(Type):
    ν…μŠ€νŠΈ, 이메일, νŒ¨μŠ€μ›Œλ“œ, λΌλ””μ˜€, μ²΄ν¬λ°•μŠ€, λ²„νŠΌ, λ‚ μ§œ, 파일, 숫자, 컬러 λ“± λ‹€μ–‘ν•œ ν˜•νƒœλ‘œ μ§€μ • κ°€λŠ₯ν•©λ‹ˆλ‹€.

  • λ„€μž„(Name): 데이터λ₯Ό μ„œλ²„λ‘œ μ œμΆœν•  λ•Œ μ‚¬μš©λ˜λŠ” 이름을 μ§€μ •ν•©λ‹ˆλ‹€.

  • 벨λ₯˜(Value): μΈν’‹κ°’μ˜ μ΄ˆκΈ°κ°’μ„ μ„€μ •ν•˜κ±°λ‚˜, μ œμΆœν•  λ•Œμ˜ 값을 μ§€μ •ν•©λ‹ˆλ‹€.

  • ν”Œλ ˆμ΄μŠ€ν™€λ”(Placeholder): μž…λ ₯값이 없을 λ•Œ 힌트λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

  • λ¦¬μ½°μ΄μ–Όλ“œ(Required): μ‚¬μš©μžκ°€ μž…λ ₯ν•˜μ§€ μ•ŠμœΌλ©΄ 제좜 μ‹œ 경고창을 ν‘œμ‹œν•©λ‹ˆλ‹€.

  • λ””μ„Έμ΄λΈ”λ“œ(Disabled): ν•΄λ‹Ή μž…λ ₯ μš”μ†Œλ₯Ό λΉ„ν™œμ„±ν™”ν•©λ‹ˆλ‹€.

  • < button> νƒœκ·Έ: λ²„νŠΌμ„ 생성할 λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€.

  • λ ˆμ΄λΈ”(label):
    ν•΄λ‹Ή 인풋이 μ–΄λ–€ μž…λ ₯인지 μ„€λͺ…ν•΄μ£ΌλŠ” 역할을 ν•©λ‹ˆλ‹€
    인풋과은 항상 λ ˆμ΄λΈ”κ³Ό ν•¨κ»˜ μ“°λŠ”κ²ƒμ΄ μ’‹μŠ΅λ‹ˆλ‹€

<body>
    <form>
        <h1>Sign In</h1>
        <div>
            <label for="eamil">Email :</label>
            <input type="email" id="email" name="useremail" placeholder="Email을 μž…λ ₯ν•˜μ„Έμš”">
        </div>
        <!-- <br> -->

        <div>
            <label for="pw">PW :</label>
            <input type="password" id="pw" name="password" placeholder="λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•˜μ„Έμš”">
        </div>

        <input type="submit" value="둜그인">
    </form>
</body>

  • checkbox
    μ‚¬μš©μžμ—κ²Œ 선택(체크) μ—¬λΆ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ”λ° μ‚¬μš©λ˜λŠ” HTML 폼 μš”μ†Œμž…λ‹ˆλ‹€. 각 μ²΄ν¬λ°•μŠ€λŠ” λ…λ¦½μ μœΌλ‘œ λ‹€λ₯Έ μ²΄ν¬λ°•μŠ€μ™€ μƒν˜Έμž‘μš©ν•˜λ©°, μ—¬λŸ¬ ν•­λͺ© μ€‘μ—μ„œ μ›ν•˜λŠ” ν•­λͺ©μ„ 선택할 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.

    κ°’
    type="checkbox": μ²΄ν¬λ°•μŠ€μ˜ νƒ€μž…μ„ μ§€μ •ν•©λ‹ˆλ‹€.
    name: μ„œλ²„λ‘œ 전솑될 λ•Œ μ²΄ν¬λ°•μŠ€μ˜ 그룹을 μ‹λ³„ν•˜λŠ” 이름을 μ§€μ •ν•©λ‹ˆλ‹€.
    value: μ²΄ν¬λ°•μŠ€μ˜ κ°’. μ²΄ν¬λ°•μŠ€κ°€ μ„ νƒλ˜μ—ˆμ„ λ•Œ μ „μ†‘λ˜λŠ” κ°’μž…λ‹ˆλ‹€. μ‚¬μš©μžμ—κ²Œ λ…ΈμΆœλ˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€.
    μ²΄ν¬λ°•μŠ€μ—μ„œ 벨λ₯˜κ°€ λͺ…μ‹œλ˜μ§€ μ•ŠμœΌλ©΄ defajult value λŠ” on으둜 μ „μ†‘λ©λ‹ˆλ‹€.
    checked: μ΄ˆκΈ°μ— μ²΄ν¬λ°•μŠ€κ°€ μ„ νƒλ˜μ–΄ μžˆλŠ” μƒνƒœλ‘œ λ§Œλ“€ λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

  • radio
    λΌλ””μ˜€ λ²„νŠΌμ€ μ—¬λŸ¬ μ˜΅μ…˜ 쀑 ν•˜λ‚˜λ₯Ό μ„ νƒν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” 폼 μš”μ†Œμž…λ‹ˆλ‹€. λΌλ””μ˜€ λ²„νŠΌμ€ λ™μΌν•œ name 속성을 κ°€μ§„ μ—¬λŸ¬ 개의 λ²„νŠΌ 그룹으둜 κ΅¬μ„±λ˜λ©°, 각 κ·Έλ£Ήμ—μ„œλŠ” ν•˜λ‚˜μ˜ λ²„νŠΌλ§Œ 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.

    πŸ’‘radio μ‚¬μš©μ‹œ μ£Όμš” μ†μ„±κ³ΌνŠΉμ§•
    νƒ€μž…(Type): λΌλ””μ˜€ λ²„νŠΌμ€ type="radio"둜 μ§€μ •ν•©λ‹ˆλ‹€.
    λ„€μž„(Name): λΌλ””μ˜€ λ²„νŠΌ 그룹을 μ‹λ³„ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” 이름을 μ§€μ •ν•©λ‹ˆλ‹€. λ™μΌν•œ 그룹은 λ™μΌν•œ name을 κ°€μ Έμ•Ό ν•©λ‹ˆλ‹€.
    κ°’(Value): 각 λΌλ””μ˜€ λ²„νŠΌμ— ν• λ‹Ήλœ κ°’μœΌλ‘œ, μ„ νƒλœ λ²„νŠΌμ˜ 값이 μ„œλ²„λ‘œ μ „μ†‘λ©λ‹ˆλ‹€.
    μ²΄ν¬λ“œ(Checked): 기본적으둜 μ„ νƒλ˜μ–΄ 있으면 checked 속성을 μ‚¬μš©ν•©λ‹ˆλ‹€.
    라벨(Label): μ‚¬μš©μžμ—κ²Œ λΌλ””μ˜€ λ²„νŠΌμ΄ μ–΄λ–€ λͺ©μ μ„ κ°€μ§€κ³  μžˆλŠ”μ§€ μ•Œλ €μ£ΌκΈ° μœ„ν•΄ 라벨 μš”μ†Œμ™€ ν•¨κ»˜ μ‚¬μš©λ©λ‹ˆλ‹€.

  • μ…€λ ‰νŠΈ λ°•μŠ€(select box) :

    μ‚¬μš©μžκ°€ λͺ©λ‘μ—μ„œ ν•­λͺ©μ„ 선택할 수 μžˆλŠ” λ“œλ‘­λ‹€μš΄ ν˜•νƒœμ˜ 폼 μš”μ†Œμž…λ‹ˆλ‹€. 주둜 μ—¬λŸ¬ μ˜΅μ…˜ 쀑 ν•˜λ‚˜λ₯Ό 선택할 λ•Œ μ‚¬μš©λ˜λ©°, μ‚¬μš©μžμ—κ²Œ λͺ©λ‘μ„ μ‹œκ°μ μœΌλ‘œ 제곡 ν•©λ‹ˆλ‹€.

profile

0개의 λŒ“κΈ€