๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Programming/JavaScript

์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ / ๊ธ€์ž์ˆ˜ ๊ณ„์‚ฐ๊ธฐ

728x90
๋ฐ˜์‘ํ˜•

๊ธ€์ž์ˆ˜ ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ with ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

ํ•„์š”์ง€์‹

1. getElementById๋ฅผ ์ด์šฉํ•ด

     ใ„ด DOM(Document Object Model)์˜ id ๊ฐ€์ ธ์˜ค๊ธฐ

 

2. onkeydown ์ด๋ฒคํŠธ


HTML ์ฝ”๋“œ

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>๊ธ€์ž์ˆ˜ ๊ณ„์‚ฐ๊ธฐ</title>

    <style> //์Šคํƒ€์ผ ์ง€์ •
        h1 {
            margin-top: 30px; // ์ƒ๋‹จ ๊ณต๊ฐ„๊ณผ์˜ ๊ฑฐ๋ฆฌ
}
     #count {
            float: right;
        }
    </style>

</head>
<body class='container'>

    <h1>์ž๊ธฐ์†Œ๊ฐœ</h1> // ์ œ๋ชฉ ์ž…๋ ฅ
    <textarea class="form-control" rows="3" onkeydown = 'counter();' id="wordarea">์ž…๋ ฅํ•˜์„ธ์š”</textarea>
	<span id="count">(0/200)</span>
 
</body>
</html>

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ

<script>
// counter๋ผ๋Š” ํ•จ์ˆ˜ ์ •์˜
function counter() {
	// content ๋ณ€์ˆ˜ ์ง€์ •
    // getElementById(id์ž…๋ ฅ)
    // -> ํŠน์ • id๋ฅผ ๊ฐ€์ง„ DOM(textarea, span ๊ณผ ๊ฐ™์€ ํŠน์ • ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•จ)์„ ๊ฐ€์ ธ์˜ด  
    // .value๋ฅผ ๋ถ™์ด๋ฉด ๊ทธ ์•ˆ์˜ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ด
    var content = document.getElementById('wordarea').value;

	//count ๋ผ๋Š” id๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด ๋‚ด์šฉ (0/200) ์„ ๊ฐ€์ ธ์˜จ ํ›„ ํ˜„์žฌ ๊ธ€์ž์ˆ˜ ๋„ฃ์–ด์ฃผ๊ธฐ
	document.getElementById('count').innerHTML = '(' + content.length + ' / 200)';

	// ๊ธ€์ž์ˆ˜ 200์ดˆ๊ณผ ์‹œ 200์ž๋ฆฌ๊นŒ์ง€๋งŒ ํ‘œ์‹œ
	if (content.length > 200){ 
		document.getElementById('wordcount').value = content.substring(0, 200);
	}
}

counter() //counter ํ•จ์ˆ˜ ์‹คํ–‰
</script>

๊ธ€์ž ์ž…๋ ฅ์‹œ ๋ณ€ํ™”
200๊ธ€์ž ์ดˆ๊ณผ ์‹œ

 

728x90
๋ฐ˜์‘ํ˜•