23. Front-end/23. html css javascript

[HTML] Form ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๊ฑฐ๋‚˜ ์„ ํƒํ• ๋•Œ, ์ž…๋ ฅํƒœ๊ทธ, Button

keemzeehae 2022. 2. 15. 00:13

Form


form ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์„ ํƒํ• ๋•Œ ์“ฐ๋Š”๊ฒƒ (blockํƒœ๊ทธ)


- ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๊ฑฐ๋‚˜ ์„ ํƒํ•  ๋•Œ ์‚ฌ์šฉ
- ๋Œ€๋ถ€๋ถ„์ด ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•  ์–‘์‹

- form ํƒœ๊ทธ ์˜์—ญ ๋‚ด์˜ ๊ฒƒ๋“ค์„ ์„œ๋ฒ„๋กœ ์ „์†ก(parmeter๋ผ๊ณ  ํ•˜๋Š”๊ฒƒ)

- form ํƒœ๊ทธ ์˜์—ญ ๋‚ด์—๋Š” input ํƒœ๊ทธ๋“ค ์‚ฌ์šฉ 


<form action ="์š”์ฒญํ•  URL์ฃผ์†Œ" method = "์š”์ฒญํ•  ๋ฉ”์„œ๋“œ ํ˜•์‹">

</form>

ex) <form action="./insert" method="post"></form>

 

post ๋ž‘ getํƒœ๊ทธ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”๊ฑด formํƒœ๊ทธ์ด๋‹ค.

-method ์†์„ฑ์€ ์ƒ๋žต ๊ฐ€๋Šฅ(Default ๋Š” get
-get ๋˜๋Š” post๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ 
-formํƒœ๊ทธ ์˜์—ญ ๋‚ด์—๋Š” input ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉ

 

 

์ž…๋ ฅํƒœ๊ทธ

input -> ์ฃผ๋กœ formํƒœ๊ทธ ๋‚ด์—์„œ ์‚ฌ์šฉ
- formํƒœ๊ทธ ์—†์ด ์‚ฌ์šฉ๋„ ๊ฐ€๋Šฅ (JavaScript์™€ ๊ฐ™์ด ์‚ฌ์šฉ)
- ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ๋ฐ›๋Š” ํƒœ๊ทธ
- type์ด๋ผ๋Š” ์†์„ฑ๊ฐ’์— ๋”ฐ๋ผ์„œ ์ž…๋ ฅ์–‘์‹์ด ๋‹ฌ๋ผ์ง

1. input ํƒœ๊ทธ (๊ทธ์ค‘ inputํƒœ๊ทธ๋Š” inlineํƒœ๊ทธ) 
<input type="๊ฐ’">


  1) type์˜ ์ข…๋ฅ˜ 
    -text: ์งง์€ text์— ์ฃผ๋กœ ์‚ฌ์šฉ
    -password: ๋น„๋ฐ€๋ฒˆํ˜ธ ์‚ฌ์šฉํ•  ๋•Œ (์ž…๋ ฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” *๋กœ ํ‘œ์‹œ )
    -file: ํŒŒ์ผ ์—…๋กœ๋“œ์‹œ ํŒŒ์ผ์„ ์„ ํƒ
    -date: ๋‚ ์งœ ์ž…๋ ฅ ๋˜๋Š” ์„ ํƒ
    -number : text์™€ ๋น„์Šท, ์ˆซ์ž๋งŒ ์ž…๋ ฅ (ํ‚ค๋ณด๋“œ์—์„œ ๋ฌธ์ž ์•ˆ๋ฐ›์Œ)
    -email: ์ด๋ฉ”์ผ ์–‘์‹์œผ๋กœ ์ž…๋ ฅ
    -tel: ์ „ํ™”๋ฒˆํ˜ธ ์–‘์‹์œผ๋กœ ์ž…๋ ฅ
    -hidden: ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋ณด์ด์ง€ ์•Š๊ณ  ์„œ๋ฒ„๋กœ ์ „์†ก

<input type="hidden" readonly="readonly" name="bookNumber" value="${dto.bookNumber}">

์ž‘์„ฑ์ž ๊ฐ™์€๊ฑฐ ์•ˆ๋ณด์—ฌ๋„ ๋˜๋Š”๋ฐ hidden์œผ๋กœ server๋กœ ๋„˜์–ด๊ฐ€๊ธด ํ•ด์•ผํ•จ

 

     Inputํƒœ๊ทธ๋Š” FORMํƒœ๊ทธ ์•ˆ์—์„œ์‚ฌ์šฉํ•ด์•ผํ•จ 

 

 

radio ๋ž‘ textarea ์ถ”๊ฐ€

 

radio : ์—ฌ๋Ÿฌ๊ฐœ ์ค‘์—์„œ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ๋•Œ 

         ๊ทธ๋ฃน๋ณ„๋กœ name ์†์„ฑ์˜ ๊ฐ’์„ ์ผ์น˜์‹œ์ผœ์•ผํ•จ

         server๋กœ ์ „์†ก ์‹œ ์ž…๋ ฅ ํ•  ์ˆ˜ ์—†์œผ๋‹ˆ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฏธ๋ฆฌ value์—๋‹ค๊ฐ€ ๊ฐ’์„ ๋Œ€์ž…์‹œ์ผœ์คŒ

checkbox : ์—ฌ๋Ÿฌ๊ฐœ ์ค‘์—์„œ ๋‹ค์ค‘ ์„ ํƒ 

              ๋‚˜๋จธ์ง€๋Š” Radio์™€ ๊ฑฐ์˜ ๊ฐ™์Œ

 

2. ๋น„๊ต์  ๊ธด ๊ธ€์„ ์ž…๋ ฅํ•  ๋•Œ 

textarea ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•จ

<textarea rows="" cols=""></textarea>

 

 

select 

์—ฌ๋Ÿฌ๊ฐœ ์ค‘์—์„œ ํ•˜๋‚˜๋ฅผ ์„ ํƒ

<select name="">

<option value="">๊ฐ’1</option>

<option value="">๊ฐ’2</option>

<option value="">๊ฐ’3</option>

</select>

 

4. ๊ณตํ†ต์†์„ฑ 
  1) value :  inputํƒœ๊ทธ์— ์ž…๋ ฅ๋œ ๊ฐ’์ด ์ €์žฅ๋˜๋Š” ์†์„ฑ์ด value์ด๋‹ค
               ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์œผ๋กœ ์„œ๋ฒ„๋กœ ์ „์†ก
               ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’์€ VALUE์†์„ฑ์œผ๋กœ ๋„˜์–ด๊ฐ 
  2) name : ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ด๋ฆ„์ด ๋จ

(์“ฐ๋Š” ์ˆœ์„œ ์ƒ๊ด€์—†์Œ)
<input type="text" value="์•„์ด์œ " name="id" > => url? id=์•„์ด์œ 

 

++

 

<fieldset>
<legend>ID</legend>
<input type="text" name="id" value="${cookie.remember.value}">
</fieldset>

 3) readonly : ์ž…๋ ฅ(์„ ํƒ) ๋ถˆ๊ฐ€, ์ฝ๊ธฐ๋งŒ ๊ฐ€๋Šฅ, ์„œ๋ฒ„๋กœ ์ „์†ก ๊ฐ€๋Šฅ
BookNumber<input type="text" readonly="readonly" name="bookNumber" value="${dto.bookNumber}">

์ด๋ ‡๊ฒŒ๋„ ๊ฐ€๋Šฅ >>  BookNumber</input type="text" readonly name="booknumber" value="${dto.booknumber}">
 

 

4) disabled : ์ž…๋ ฅ (์„ ํƒ) ๋ถˆ๊ฐ€, ์ฝ๊ธฐ๋งŒ ๊ฐ€๋Šฅ, ์„œ๋ฒ„๋กœ ์ „์†ก ๋ถˆ๊ฐ€
                 ex) ์ž‘์„ฑ์ž

5. ์ž…๋ ฅ ํƒœ๊ทธ๋ณ„ ์†์„ฑ
 1) ์‚ฌ์šฉ์ž ํƒ€์ดํ•‘ํ•˜๋Š” ํƒœ๊ทธ
   a. placeholder : ์ž…๋ ฅ์–‘์‹์— hint ์ œ๊ณต
https://www.codingfactory.net/11592 

Button


button ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• 4~6 ๊ฐ€์ง€


1. input ํƒœ๊ทธ์˜ type์†์„ฑ์œผ๋กœ button  
- ์•„๋ฌด๋Ÿฐ ๊ธฐ๋Šฅ์ด ์—†๋Š” ์ˆœ์ˆ˜ํ•œ button
- ๋‚˜์ค‘์— ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด javaScript๋กœ ๊ฐ™์ด ์‚ฌ์šฉํ•ด์•ผํ•จ
- value ์†์„ฑ์˜ ๊ฐ’์ด ๋ฒ„ํŠผ์˜ ์ด๋ฆ„

2. input ํƒœ๊ทธ์˜ type ์†์„ฑ์œผ๋กœ reset 
- ์ž…๋ ฅ form์— ์ž…๋ ฅ๋œ ๋‚ด์šฉ์„ ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๋ฒ„ํŠผ

3. input ํƒœ๊ทธ์˜ type์†์„ฑ์œผ๋กœ submit
- ์ž…๋ ฅ๋œ ๋‚ด์šฉ์„ form ํƒœ๊ทธ์˜ action ์˜ url๋กœ ์š”์ฒญ์„ ๋ฐœ์ƒ
- submit์ด๋ผ๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋‚ด์žฅ๋˜์–ด์žˆ์Œ
- value ์†์„ฑ์˜ ๊ฐ’์ด ๋ฒ„ํŠผ์˜ ์ด๋ฆ„

 


4. button ํƒœ๊ทธ 
<button>๋ฒ„ํŠผ์ด๋ฆ„ </button> 
์†์„ฑ์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด์„œ 1,2,3 ๊ธฐ๋Šฅ์„ ์ „๋ถ€ ๊ฐ€์งˆ  ์žˆ์Œ
type : button, reset, submit

5. a ํƒœ๊ทธ
 -a ํƒœ๊ทธ ๋˜๋Š” ์ผ๋ฐ˜ํƒœ๊ทธ css๋ฅผ ์ด์šฉํ•ด์„œ ๋ฒ„ํŠผ ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒํ•จ
 - ํšจ๊ณผ๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•ด JavaScript๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉ

6. Inputํƒœ๊ทธ์˜ type์†์„ฑ์œผ๋กœ image
<input type="image" scr="์ด๋ฏธ์ง€๊ฒฝ๋กœ" value="๋ฒ„ํŠผ์˜ ์ด๋ฆ„">

---------------------------------------------------------------------------------------------------

form ํƒœ๊ทธ์•ˆ์— button๋“ค์ด ์žˆ์œผ๋ฉด ๊ฐ๊ฐ ๊ณ ์œ ์˜ ๊ธฐ๋Šฅ์ด ์‹คํ–‰
form ํƒœ๊ทธ ๋ฐ”๊นฅ์— button๋“ค์ด ์žˆ์œผ๋ฉด ์•„๋ฌด๋Ÿฐ ๊ธฐ๋Šฅ์ด ์—†๋Š” button์ด ๋จ 
javaScript๋ฅผ ์‚ฌ์šฉ 

 

1. input ํƒœ๊ทธ์˜ type์†์„ฑ์œผ๋กœ button  ์˜ ๊ฒฝ์šฐ

์–ด๋–จ๋•Œ ์‚ฌ์šฉํ•˜๋‚˜?

์˜ˆ๋ฅผ ๋“ค๋ฉด ์ธํ„ฐ๋„ท ์‡ผํ•‘์œผ๋กœ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์—

์ƒํ’ˆ๋ช…  ์ƒํ’ˆ๊ฐฏ์ˆ˜    ๊ฐ€๊ฒฉ        ํ•ฉ๊ณ„       

 ๋ชจ์ž         1        20,000      20,000     ํ™•์ธ ๋ฒ„ํŠผ

 

์—ฌ๊ธฐ์„œ 2๊ฐœ๋ฅผ ์‚ฌ๊ณ  ์‹ถ์„๋•Œ ๊ฐฏ์ˆ˜๋ฅผ 2 ๊ฐœ๋กœ ๊ณ ์น˜๊ณ  ํ™•์ธ ๋ฒ„ํŠผ์„

๋ˆ„๋ฅด๋ฉด ๋ฐ”๋กœ ํ•ฉ๊ณ„๋Š” 40,000์›์œผ๋กœ ๋ณ€ํ•˜๊ฒ ์ง€

 

 

์ƒํ’ˆ๋ช…  ์ƒํ’ˆ๊ฐฏ์ˆ˜    ๊ฐ€๊ฒฉ        ํ•ฉ๊ณ„

 ๋ชจ์ž         2        20,000      40,000

 

์ด๋Ÿด๋•Œ ์“ฐ์ด๋Š”๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.