c o d i n g . . ๐Ÿ‰/JavaScript

[JavaScript] ๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์ •๋ฆฌํ•œ Do it ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธํŽธ(6)

H J 2021. 4. 3. 10:18

9์žฅ

 

๐ŸŒญํผ๊ณผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๐ŸŒญ

 

 

ํผ์ด๋ž€?

์‚ฌ์šฉ์ž๊ฐ€ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด ๋†“์€ ์›น ์š”์†Œ

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํผ ์š”์†Œ์˜ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๊ณ  ์ •ํ•ด์ง„ ํ˜•์‹์— ๋งž๋Š”์ง€ ํ™•์ธํ•จ

 

 

๐ŸŒญํผ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ๋ฒ•

 

  • id, class ๊ฐ’์„ ์ด์šฉ

๋”์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด querySelector(), querySelectorAll() ํ•จ์ˆ˜ ์‚ฌ์šฉ

// id
document.querySelector("#billingName")

// class
document.querySelectorAll(".input-box")[2]

 

  • name ๊ฐ’์„ ์ด์šฉ
// ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•

document.ship.shippingName

document.forms["ship"].elements["shippingName"]

* form ํƒœ๊ทธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ ‘๊ทผํ•˜๋ ค๋Š” ํผ ์š”์†Œ์—๋„ name ์†์„ฑ์ด ์ง€์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

(id๋Š” ์†์„ฑ๋งŒ ์ง€์ •๋˜์–ด ์žˆ์œผ๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅ)

 

  • ํผ ๋ฐฐ์—ด์„ ์ด์šฉ

forms ์†์„ฑ์€ ๋ฌธ์„œ ์•ˆ์˜ <form> ํƒœ๊ทธ๋ฅผ ๊ฐ€์ ธ์™€ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜

document.forms  // ํผ ํƒœ๊ทธ๋“ค์ด ๋ฐฐ์—ด๋กœ

document.forms[0].elements[0]  // ์ฒซ ๋ฒˆ์งธ ํผ์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์— ์ ‘๊ทผ

 

 

๐ŸŒญํผ ๋ฐธ๋ฆฌ๋ฐ์ด์…˜

 

์ž…๋ ฅ๋œ ๊ฐ’์ด ์ •ํ•ด์ง„ ์กฐ๊ฑด์— ๋งž๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ์ž‘์—…

(๋ณ€์ˆ˜์— ์š”์†Œ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ ์—ฌ๋Ÿฌ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์„œ ๊ฒ€์‚ฌ)

 

๋”๋ณด๊ธฐ

๋‚ด๊ฐ€ ํ—ท๊ฐˆ๋ ธ๋˜ ๊ฒƒ!

select() ํ•จ์ˆ˜๋Š” ๋“œ๋ž˜๊ทธ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋จ

focus() ํ•จ์ˆ˜๋Š” ๋‹ค์‹œ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ๋จ

 

input ํƒœ๊ทธ์˜ ์ƒˆ๋กœ์šด ์œ ํ˜•

<input type = "email"> ์ด๋ฉ”์ผ ์ฃผ์†Œ ํ˜•์‹์— ๋งž์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€
<input type = "tel"> ์ „ํ™”๋ฒˆํ˜ธ ํ˜•์‹์— ๋งž์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€
<input type = "url"> http:๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€

 

input ํƒœ๊ทธ์˜ ์ƒˆ๋กœ์šด ์†์„ฑ

autocomplete ์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ ํ‚ค๊ณ  ๋”
autofocus ๋งˆ์šฐ์Šค ์ปค์„œ ์ž๋™์œผ๋กœ ํ‘œ์‹œ
placeholder ํ•„๋“œ ์•ˆ์— ์–ด๋–ค ๋‚ด์šฉ์„ ์ž…๋ ฅํ•ด์•ผํ•˜๋Š”์ง€ ์•Œ๋ ค์คŒ
required ํ•„์ˆ˜ ์ž…๋ ฅ ํ•ญ๋ชฉ, ์ž‘์„ฑํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ํ‘œ์‹œ

 

 

๐ŸŒญ๋‹ค์–‘ํ•œ ํผ ์š”์†Œ ๋‹ค๋ฃจ๊ธฐ

 

  • ์„ ํƒ ๋ชฉ๋ก(<select>)

<option> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ ์ง€์ •

 

ํ•ญ๋ชฉ์— ์ ‘๊ทผ

document.testForm.major.options[4]

// ํ•ญ๋ชฉ์˜ ํ…์ŠคํŠธ์— ์ ‘๊ทผ
document.testForm.major.options[4].innerText

 

์„ ํƒํ•œ ์˜ต์…˜ ์ฐพ๊ธฐ

document.testForm.major.options.selectedIndex

์„ ํƒํ•œ ํ•ญ๋ชฉ์˜ ์ธ๋ฑ์Šค = selectMenu.selectedIndex

 

 

  • ๋ผ๋””์˜ค ๋ฒ„ํŠผ, ์ฒดํฌ ์ƒ์ž

๋ผ๋””์˜ค ๋ฒ„ํŠผ: ํ•œ ๊ฐ€์ง€ ํ•ญ๋ชฉ๋งŒ ์„ ํƒ ๊ฐ€๋Šฅ

(๊ฐ™์€ name์„ ๊ฐ€์ง„ ์š”์†Œ ์—ฌ๋Ÿฌ ๊ฐœ)

document.testForm.subject[0]
document.testForm.subject[1]
document.testForm.subject[2]

 

์ฒดํฌ ์ƒ์ž: ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ ์„ ํƒ ๊ฐ€๋Šฅ

(๋ชจ๋‘ ๋‹ค๋ฅธ name ๊ฐ’์„ ๊ฐ€์ง)

document.testFrom.mailing1
document.testFrom.mailing2
document.testFrom.mailing3

 

* checked ์†์„ฑ

๊ธฐ๋ณธ ๊ฐ’์€ false์ด๊ณ  ํ•ญ๋ชฉ์ด ์„ ํƒ๋˜๋ฉด true๋กœ ๋ฐ”๋€œ

document.testForm.subject[0].checked

document.testFrom.mailing1.checked

์ด์ œ ๋’ค์— ๋‚˜๋จธ์ง€ ์‹ค์Šตํ•˜๊ณ  ํ”ผํ”ผํ‹ฐ ๋งŒ๋“ค๊ณ  8์žฅ ์‹ค์Šต ์•ˆ ํ•œ ๊ฑฐ ํ•ด์•ผ๋”” ^_ใ