๋ชฉ์ฐจ
1. 2023.12.1(๊ธ)
F_WebApp03
ใด C:\WebStudy\WebApp03\WebContent
ใดใดTest022.html_์ฌ์ฉ์ ์ ๋ ฅ์ฐฝ(prompt())


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test022.html</title>
<link rel="stylesheet" href="css/style.css">
<style type="text/css">
textarea {/* font-family: ๋๋๊ณ ๋์ฝ๋ฉ; */font-weight: bold; margin: 2px;}
#txtCount {width: 40px; text-align:right;}
</style>
</head>
<body class="section">
<div>
<h1>์๋ฐ์คํฌ๋ฆฝํธ ํ์ฉ</h1>
<hr>
</div>
<!--
์ฌ๋ฌ ๋ช
์ ์ด๋ฆ๊ณผ ์ ํ๋ฒํธ๋ฅผ ์
๋ ฅ๋ฐ๊ณ
๊ทธ ๋ด์ฉ์ ์ ์ฒด ์ถ๋ ฅํ๋ ํ์ด์ง๋ฅผ ๊ตฌํํ๋ค.
HTML, CSS, Javascript ๋ฅผ ํ์ฉํ๋ค.
โป prompt() ํ์ฉ
ํ์ด์ง ๋ ์ด์์
------------------------------------------------
< ํ์ ์ ๋ณด ์
๋ ฅ >
์ ์ฒด ํ์ ์: [ ] ๋ช
-----------------------
์ด๋ฆ ์ ํ๋ฒํธ
-----------------------
:
:
------------------------------------------------
-->
<div class="layout">
<form>
<div class="btn_box input_box">
<input type="button" value="ํ์ ์ ๋ณด ์
๋ ฅ" class="btn" onclick="addMember()">
</div>
<div class="result_box">
<span>์ ์ฒด ํ์์: </span>
<input type="text" id="txtCount" class="txt" readonly="readonly">๋ช
</div>
<div>
<textarea rows="10" cols="30" id="txtResult" readonly="readonly"></textarea>
</div>
</form>
</div>
<script type="text/javascript">
function addMember()
{
// ํ์ธ
//alert("ํจ์ ํธ์ถ ํ์ธ~!!!");
//var temp = prompt("์๋ด: ");
var str = "";
var arr = new Array();
var n = 0;
do
{
// โป <prompt()>: ๋ํ์ฐฝ์ ํตํด ๋ฐ์ดํฐ ์
๋ ฅ ์๋ด
// -> ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ๋ณ์์ ๋ด์๋ด๊ธฐ
str = prompt("์ด๋ฆ ์ ํ๋ฒํธ("+ (n+1)+")");
//ํ์ธ
//alert(str);
if(str==null || str =='.' || str==" " || str=="")
break;
arr[n] = str;
// ํ์ธ
alert(arr[n]);
n++;
} while (true);
document.getElementById("txtCount").value = arr.length;
/* **
๋ฐฐ์ด์ ๊ฐ์ง๊ณ ์๋ ๊ตฌ์กฐ๊ฐ ์๋ฐ์ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์๋ฐ๋ผ๋ฉด ๋ถ๊ฐ๋ฅํ ๊ตฌ์กฐ
์๋ฐ- ๋ฐฐ์ด์ ์ฐ๊ฒฐ๋์ด ๊ฐ์ง๊ณ ์์
์๋ฐ์คํฌ๋ฆฝํธ- ๋ฐฐ์ด์ด ์ฐ๊ฒฐ๋์ด์์
** */
document.getElementById("txtResult").value = " ์ด๋ฆ ์ ํ๋ฒํธ\n";
/* **
txtResult๋ฅผ ํด๋ฆฌ์ด ํ ํ์ ์์.
ใด ์ด์ : ๋์ ํฉ์ ์ถ๋ ฅํ๋ ๊ตฌ์กฐ๊ฐ ์๋๊ธฐ ๋๋ฌธ์
** */
for(var n=0; n<arr.length; n++)
{
document.getElementById("txtResult").value += arr[n] + "\n";
}
}
</script>
</body>
</html>
ใดใดTest023_1.html_์ฌ๋ฌ๋ช ๋ฐ์ดํฐ ๋ฑ์๋ถ์ฌ ์ถ๋ ฅ(ํจ๊ป ํผ ํ์ด)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test023.html</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body class="section">
<div>
<h1>์๋ฐ์คํฌ๋ฆฝํธ ํ์ฉ</h1>
<hr>
</div>
<!--
<prompt()>๋ฅผ ํ์ฉํ์ฌ ์ฌ๋ฌ ๋ช
์ ์ฑ์ ๋ฐ์ดํฐ๋ฅผ ์
๋ ฅ ๋ฐ๊ณ ,
๋ฑ์๋ฅผ ๋ถ์ฌํ์ฌ, ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ๋ ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ๋ค.
HTML, CSS, Javascript ํ์ฉํ๋ค.
ํ์ด์ง ๋ ์ด์์
-----------------------------------------------------------
< ์ฑ์ ์ ๋ณด ์
๋ ฅ > ------------- prompt() --------------- ์ด๋ฆ ๊ตญ์ด ์์ด ์ํ(1):
์ ์ฒด ์ธ์ ์: [ ] ๋ช
--------------------------------------------- ---- textarea
์ด๋ฆ ๊ตญ์ด ์์ด ์ํ ์ด์ ๋ฑ์
๊น๋ค์ฌ 80 70 60 xxx 1๋ฑ
์ค์๊ฒฝ 70 60 50 xxx 2๋ฑ
๊น๊ฒฝํ 60 50 40 xxx 3๋ฑ
๋ฐ๋ฒ๊ตฌ 50 40 30 xxx 4๋ฑ
---------------------------------------------
-----------------------------------------------------------
-->
<div class="layout">
<form>
<div class="btn_box input_box">
<input type="button" value="์ฑ์ ์ ๋ณด ์
๋ ฅ" onclick="scoreInsert()">
</div>
<div class="result_box">
<span class="tit">์ ์ฒด ์ธ์ ์: </span>
<input type="text" id="txtCount" style="width: 40px">๋ช
</div>
<div>
<textarea rows="10" cols="50" id="txtResult" readonly="readonly"></textarea>
</div>
</form>
</div>
<script type="text/javascript">
function scoreInsert()
{
var str = "";
var arr = new Array();
var temp;
var n = 0;
// -- ์
๋ ฅ๊ฐ ๋ฐ์์ค๊ธฐ ๋ฐ ์ด์ ๊ณ์ฐ
do
{
str = prompt("์ด๋ฆ ๊ตญ์ด ์์ด ์ํ("+(n+1)+"):");
if(str=="" || str==" " || str==null || str==".")
break;
arr[n] = str.split(" ");
arr[n][4] = parseInt(arr[n][1]) + parseInt(arr[n][2]) + parseInt(arr[n][3]);
n++;
} while (true);
// -- [test] ๋ฑ์ ์ ์ ์ถ๋ ฅ์ ์ํ ์ํ ๋ฐ์ดํฐ
//arr = new Array(new Array("์ค์๊ฒฝ", 70, 60, 50, 180),new Array("๊น๊ฒฝํ", 60, 50, 40, 150),new Array("๋ฐ๋ฒ๊ตฌ", 50, 40, 30, 120),new Array("๊น๋ค์ฌ", 80, 70, 60, 210));
// -- ์ ์ ๋ด๋ฆผ์ฐจ์์ ๋ ฌ
if(arr.length>0){
document.getElementById("txtCount").value = arr.length;
for(var j=1; j<arr.length; j++)
{
for(var k=0; k<arr.length-j; k++)
{
// -- [test] ๋ฐ๋๋ ์ฌ๋ถ ํ์ธ
//console.log("1="+arr[k][4]);
//console.log("2="+arr[k+1][4]);
//console.log(parseInt(arr[k][4]) < parseInt(arr[k+1][4]));
if(parseInt(arr[k][4]) < parseInt(arr[k+1][4]))
{
temp = arr[k];
arr[k] = arr[k+1];
arr[k+1]= temp;
}
//console.log("-------------");
}
}
//-- ํค๋ ์ถ๋ ฅ
document.getElementById("txtResult").value = "์ด๋ฆ\t๊ตญ์ด\t์์ด\t์ํ\t์ด์ \t๋ฑ์\n";
//-- ๋ฐ์ดํฐ ์ถ๋ ฅ
for(var k=0; k<arr.length; k++)
{
for(var m=0; m<arr[k].length; m++)
{
document.getElementById("txtResult").value += arr[k][m] + "\t";
}
document.getElementById("txtResult").value += (k+1) + "๋ฑ" + "\n";
}
}
}
</script>
</body>
</html>
ใดใดTest023.html_์ฌ๋ฌ๋ช ๋ฐ์ดํฐ ๋ฑ์๋ถ์ฌ ์ถ๋ ฅ(๋ด ํ์ด)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test023.html</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body class="section">
<div>
<h1>์๋ฐ์คํฌ๋ฆฝํธ ํ์ฉ</h1>
<hr>
</div>
<!--
<prompt()>๋ฅผ ํ์ฉํ์ฌ ์ฌ๋ฌ ๋ช
์ ์ฑ์ ๋ฐ์ดํฐ๋ฅผ ์
๋ ฅ ๋ฐ๊ณ ,
๋ฑ์๋ฅผ ๋ถ์ฌํ์ฌ, ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ๋ ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ๋ค.
HTML, CSS, Javascript ํ์ฉํ๋ค.
ํ์ด์ง ๋ ์ด์์
-----------------------------------------------------------
< ์ฑ์ ์ ๋ณด ์
๋ ฅ > ------------- prompt() --------------- ์ด๋ฆ ๊ตญ์ด ์์ด ์ํ(1):
์ ์ฒด ์ธ์ ์: [ ] ๋ช
--------------------------------------------- ---- textarea
์ด๋ฆ ๊ตญ์ด ์์ด ์ํ ์ด์ ๋ฑ์
๊น๋ค์ฌ 80 70 60 xxx 1๋ฑ
์ค์๊ฒฝ 70 60 50 xxx 2๋ฑ
๊น๊ฒฝํ 60 50 40 xxx 3๋ฑ
๋ฐ๋ฒ๊ตฌ 50 40 30 xxx 4๋ฑ
---------------------------------------------
-----------------------------------------------------------
-->
<div class="layout">
<form>
<div class="btn_box input_box">
<input type="button" value="์ฑ์ ์ ๋ณด ์
๋ ฅ" onclick="scoreInsert()">
</div>
<div class="result_box">
<span class="tit">์ ์ฒด ์ธ์ ์: </span>
<input type="text" id="txtCount" style="width: 40px">๋ช
</div>
<div>
<textarea rows="10" cols="50" id="txtResult" readonly="readonly"></textarea>
</div>
</form>
</div>
<script type="text/javascript">
function scoreInsert()
{
var str = "";
var arr = new Array();
var temp;
var n = 0;
// -- ์
๋ ฅ๊ฐ ๋ฐ์์ค๊ธฐ ๋ฐ ์ด์ ๊ณ์ฐ
do
{
str = prompt("์ด๋ฆ ๊ตญ์ด ์์ด ์ํ("+(n+1)+"):");
if(str=="" || str==" " || str==null || str==".")
break;
arr[n] = str.split(" ");
arr[n][4] = parseInt(arr[n][1]) + parseInt(arr[n][2]) + parseInt(arr[n][3]);
n++;
} while (true);
// -- [test] ๋ฑ์ ์ ์ ์ถ๋ ฅ์ ์ํ ์ํ ๋ฐ์ดํฐ
//arr = new Array(new Array("์ค์๊ฒฝ", 70, 60, 50, 180),new Array("๊น๊ฒฝํ", 60, 50, 40, 150),new Array("๋ฐ๋ฒ๊ตฌ", 50, 40, 30, 120),new Array("๊น๋ค์ฌ", 80, 70, 60, 210));
// -- ์ ์ ๋ด๋ฆผ์ฐจ์์ ๋ ฌ
if(arr.length>0){
document.getElementById("txtCount").value = arr.length;
for(var j=1; j<arr.length; j++)
{
for(var k=0; k<arr.length-j; k++)
{
// -- [test] ๋ฐ๋๋ ์ฌ๋ถ ํ์ธ
//console.log("1="+arr[k][4]);
//console.log("2="+arr[k+1][4]);
//console.log(parseInt(arr[k][4]) < parseInt(arr[k+1][4]));
if(parseInt(arr[k][4]) < parseInt(arr[k+1][4]))
{
temp = arr[k];
arr[k] = arr[k+1];
arr[k+1]= temp;
}
//console.log("-------------");
}
}
//-- ํค๋ ์ถ๋ ฅ
document.getElementById("txtResult").value = "์ด๋ฆ\t๊ตญ์ด\t์์ด\t์ํ\t์ด์ \t๋ฑ์\n";
//-- ๋ฐ์ดํฐ ์ถ๋ ฅ
for(var k=0; k<arr.length; k++)
{
for(var m=0; m<arr[k].length; m++)
{
document.getElementById("txtResult").value += arr[k][m] + "\t";
}
document.getElementById("txtResult").value += (k+1) + "๋ฑ" + "\n";
}
}
}
</script>
</body>
</html>
ใดใด Test024.html_์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํ ํ ์ด๋ธ ๋์ ์์ฑ

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test024.html</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body class="section">
<div>
<h1>์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํ ํ
์ด๋ธ ๋์ ์์ฑ</h1>
<hr>
</div>
<div class="layout">
<form>
<ul class="input_box">
<li>
<span stlye="tit">์ด๋ฆ</span> <input type="text" id="txtName" class="txt">
</li>
<li>
<span stlye="tit">์ ํ๋ฒํธ</span> <input type="text" id="txtTel" class="txt">
</li>
<li>
<span stlye="tit">์ฃผ์</span> <input type="text" id="txtAddr" class="txt">
</li>
</ul>
<div class="btn_box">
<button type="button" onclick="addMember()">ํ์ ์ ๋ณด ์
๋ ฅ</button>
</div>
<div class="tbl_ty01">
<table border="1" id="memberTbl">
<tr><td>์ด๋ฆ</td><td>์ ํ๋ฒํธ</td><td>์ฃผ์</td></tr>
<tr><td>์ํ์ฑ</td><td>010-1111-1111</td><td>์ ์ฃผ ์๊ทํฌ</td></tr>
<tr><td>๊น๋ฏผ์ง</td><td>010-2222-2222</td><td>์ ๋จ ์ฌ์</td></tr>
<tr><td>์ ํ์ฑ</td><td>010-3333-3333</td><td>๊ฒฝ๋จ ์ฐ์ฒญ</td></tr>
<tr><td>๋ฐ๋์</td><td>010-4444-4444</td><td>์์ธ ๋งํฌ๊ตฌ</td></tr>
</table>
</div>
</form>
</div>
<script type="text/javascript">
function addMember()
{
// ํ์ธ
var name = document.getElementById("txtName").value; // "๊ธธํ์ฑ"
var tel = document.getElementById("txtTel").value; // "010-5555-5555"
var addr = document.getElementById("txtAddr").value; // "๊ฒฝ๊ธฐ๋ ๋ถ๋น"
// ํ์ธ
//alert(name + " " + tel + " " + addr);
// table ์๋ฆฌ๋จผํธ ์ ๊ทผ(#memberTbl);
var tableNode = document.getElementById("memberTbl");
// ํ์ธ
//alert(tableNode);
// table tr td th
// table thead tbody tr td th
// tbody ์๋ฆฌ๋จผํธ ์ ๊ทผ -> ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์๋ต
// โป ์ฃผ์. ๋ธ๋ผ์ฐ์ ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฒฐ๊ณผ
// ํ
์คํธ
//alert(tableNode.childNodes[0].nodeType);
//--==>> ์ถ๋ ฅ๊ฒฐ๊ณผ: 3
//alert(tableNode.childNodes[0]);
//--==>> ์ถ๋ ฅ๊ฒฐ๊ณผ: [object Text]
//alert(tableNode.childNodes[1]);
//--==>> ์ถ๋ ฅ๊ฒฐ๊ณผ: [object HTMLTableSectionElement]
/* **
- childNodes: ์์๋
ธ๋
- ๋ณดํต ๋ณต์์ ์๋ฆฌ๋จผํธ๋ ๋ฐฐ์ด(ex.childNodes)
** */
// **tbody๋ฅผ ์ฐ๊ฒ ๋ ๊ฒฝ์ฐ ์ฐธ์กฐํ๊ธฐ**
/*
if(tableNoe.childnodes[0].nodeType==1)
{
tbodyNode = tableNode.childNodes[0]; // IE
}
else
{
tbodyNode = tableNode.childNodes[1]; // CR, FF (IE๋ฅผ ์ ์ธํ ๊ฑฐ์ ๋ชจ๋ ๋ธ๋ผ์ฐ์ )
}
*/
// <tr></tr> ์๋ฆฌ๋จผํธ ๋์ ์์ฑ
// <td></td> ์๋ฆฌ๋จผํธ ๋์ ์์ฑ
var trNode = document.createElement("tr"); //<tr></tr>
// **์ฌ๋ํ๊ทธ ๋ซ๋ํ๊ทธ ๋ฐ๋ก ๋ง๋๋ ๊ฒ์ด ์๋๋ผ, โ๊ตฌ๋ฌธ ์์ฑ์ ์์์ ์์ฑ๋จ**
/*
var tdNode1 = document.createElement("td"); // <td></td>
var nameNode = document.createTextNode(name); // <td> ๋
ธ๋์ ์ถ๊ฐํ "๊ธธํ์ฑ" ํ
์คํธ ๋
ธ๋ ใ
ใ
์ฑ
// **ํ
์คํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ ๊ฐ์ง**
var tdNode2 = document.createElement("td"); // <td></td>
var telNode = document.createTextNode(tel); // <td> ๋
ธ๋์ ์ถ๊ฐํ "010-5555-5555"
var tdNode = document.createElement("td"); // <td></td>
var addrNode = documtne.createTextNode(addr); // <td> ๋
ธ๋์ ์ถ๊ฐํ "๊ฒฝ๊ธฐ๋ ๋ถ๋น"
tdNode1.appendChild(nameNode); // <td>"๊ธธํ์ฑ"</td>
tdNode2.appendChild(telNode); // <td>"010-5555-5555"</td>
tdNode3.appendChild(addrNode); // <td>"๊ฒฝ๊ธฐ๋ ๋ถ๋น"</td>
*/
trNode.appendChild(createTdNode(name)); // <tr><td>"๊ธธํ์ฑ"</td></tr>
trNode.appendChild(createTdNode(tel)); // <tr><td>"๊ธธํ์ฑ"</td><td>"010-5555-5555"</td></tr>
trNode.appendChild(createTdNode(addr)); // <tr><td>"๊ธธํ์ฑ"</td><td>"010-5555-5555"</td><td>"๊ฒฝ๊ธฐ๋ ๋ถ๋น"</td></tr>
tableNode.appendChild(trNode);
}
function createTdNode(val)
{
var textNode = document.createTextNode(val);
var tdNode = document.createElement("td");
tdNode.appendChild(textNode);
return tdNode;
}
</script>
</body>
</html>
ใดใด Test025_01.html(๋ฌธ์ ๋ง)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test025.html</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body class="section">
<div>
<h1>ํ
์ด๋ธ ๋์ ์์ฑ์ผ๋ก ๋ง๋
๋ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ</h1>
<hr>
</div>
<div class="layout">
<form>
<div class="input_box">
<input type="text" id="txtYear" class="txt" style="width: 80px">๋
<input type="text" id="txtYear" class="txt" style="width: 40px">์
</div>
<div class="btn_box">
<input type="button" class="btn" value="๋ง๋
๋ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ">
</div>
<div>
<table border="1" id="calendarTbl">
<tr>
<th>์ผ</th>
<th>์</th>
<th>ํ</th>
<th>์</th>
<th>๋ชฉ</th>
<th>๊ธ</th>
<th>ํ </th>
</tr>
</table>
</div>
</form>
</div>
<script type="text/javascript">
// ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋
, ์ ๊ฐ์ ธ์ค๊ธฐ
// โป ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋
๋, ์ -> ์ฌ๊ธฐ์ ํด๋นํ๋ 1์ผ์ ์์ผ ์์๋ด๊ธฐ~!!
// Math.floor(); -> ์์๋ถ ์ ์ญ -> parseInt()
// Math.ceil(); -> ์์๋ถ ์ฌ๋ฆผ
// Math.round(); -> ์์๋ถ ๋ฐ์ฌ๋ฆผ
// 1๋จ๊ณ. 1๋
1์ 1์ผ ๋ถํฐ.. ์
๋ ฅ ๋
๋ ๊ธฐ์ค ์ ๋
๋ 12์ 31์ผ ๊น์ง์ ์ด ๋ ์ง ์ ๊ตฌํ๊ธฐ
// 2๋จ๊ณ. ํด๋น ๋
๋์ 1์ 1์ผ๋ถํฐ.. ํด๋น ๋
๋ ํด๋น ์ 1์ผ ๊น์ง์ ์ด ๋ ์ง ์ ๊ตฌํด์ 1๋จ๊ณ์ ๋ํ๊ธฐ
// 3๋จ๊ณ. ํด๋น ๋
๋์ ํด๋น ์์ ์ฒซ ๋ (1์ผ)์ ์์ผ ๊ตฌํ๊ธฐ
// 4๋จ๊ณ. ํด๋น ๋
๋ ํด๋น ์์ ๋ง์ง๋ง ๋ ์ง ๊ตฌํ๊ธฐ
// (28์ผ or 29์ผ or 30์ผ or 31์ผ)
// 5๋จ๊ณ. ํด๋น ๋
๋ ํด๋น ์ ๊ธฐ์ค ๋ฌ๋ ฅ ๊ตฌ์ฑ(์ถ๋ ฅ, ๊ทธ๋ฆฌ๊ธฐ)
// - ํด๋น ์์ 1์ผ์ด ์์๋๊ธฐ ์ ์ ๋น ์นธ td ์ฑ์ฐ๊ธฐ
</script>
</body>
</html>
ใดใด Test025.html(๋ด๊ฐ ํผ ํ์ด)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test025.html</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body class="section">
<div>
<h1>ํ
์ด๋ธ ๋์ ์์ฑ์ผ๋ก ๋ง๋
๋ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ</h1>
<hr>
</div>
<div class="layout">
<form>
<div class="input_box">
<input type="text" id="txtYear" class="txt" style="width: 80px">๋
<input type="text" id="txtMonth" class="txt" style="width: 40px">์
</div>
<div class="btn_box">
<input type="button" class="btn" value="๋ง๋
๋ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ" onclick="actionCalendar()">
</div>
<div>
<table border="1" id="calendarTbl">
<tr>
<th>์ผ</th>
<th>์</th>
<th>ํ</th>
<th>์</th>
<th>๋ชฉ</th>
<th>๊ธ</th>
<th>ํ </th>
</tr>
</table>
</div>
</form>
</div>
<script type="text/javascript">
/* 1. ๋ฌ์ ๋ง์ง๋ง ๋ ์ง
2. ์ค๋
๊ณ์ฐ(4์ ๋ฐฐ์์ด๊ณ 100์ ๋ฐฐ์๊ฐ ์๋๊ฑฐ๋, 400์ ๋ฐฐ์) -> 29
3. ์
๋ ฅ๋ฐ์ ์ฐ๋์ ์ด์ ๋
๋ ๋ ์๊น์ง์ ๊ณ์ฐ
4. ์
๋ ฅ๋ฐ์ ๋ฐ์ ์ฐ๋(ํด๋น ์ฐ๋)์ ์ ์๊น์ง ๊ณ์ฐ
5. ์์ผ= ๋ ์%7 */
function actionCalendar()
{
/* var txtYear = document.getElementById("txtYear").value;
var txtMonth = document.getElementById("txtMonth").value; */
// 1๋
1์ 1์ผ์ ์์์ผ!
var txtYear = "2023";
var txtMonth = "12";
var allDay=0;
var monthDay=0;
var week=0;
var weekText;
//console.log("1: "+ txtYear);
//console.log("2: "+ txtMonth);
//1. ๋ฌ์ ๋ง์ง๋ง ๋ ์ง
var lastDay = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
// 1 2 3 4 5 6 7 8 9 10 11 12
//2. ์ค๋
๊ณ์ฐ(4์ ๋ฐฐ์์ด๊ณ 100์ ๋ฐฐ์๊ฐ ์๋๊ฑฐ๋, 400์ ๋ฐฐ์) -> 29
if((Number(txtYear)%4==0) && (Number(txtYear)%100!=0) || (Number(txtYear)%400==0))
lastDay[1] = 29
//console.log("2์: "+lastDay[1]);
//3. ์
๋ ฅ๋ฐ์ ์ฐ๋์ ์ด์ ๋
๋ ๋ ์๊น์ง์ ๊ณ์ฐ
allDay = (Number(txtYear)-1)*365 + Math.floor((Number(txtYear)-1)/4) - Math.floor((Number(txtYear)-1)/100) + Math.floor((Number(txtYear)-1)/400);
allDay += 1;
//console.log("๋ชจ๋ ๋ : "+allDay);
//4. ์
๋ ฅ๋ฐ์ ๋ฐ์ ์ฐ๋(ํด๋น ์ฐ๋)์ ์ ์๊น์ง ๊ณ์ฐ
for (var i = 0; i < (Number(txtMonth)-1); i++)
{
monthDay += Number(lastDay[i]);
}
//console.log("์ ์๊น์ง์ ๋ : "+ monthDay);
//5. ์์ผ= ๋ ์%7
week = Math.floor((allDay + monthDay)%7);
//console.log(week);
switch(week)
{
case 0:
weekText = "์ผ";break;
case 1:
weekText = "์";break;
case 2:
weekText = "ํ";break;
case 3:
weekText = "์";break;
case 4:
weekText = "๋ชฉ";break;
case 5:
weekText = "๊ธ";break;
case 6:
weekText = "ํ ";break;
}
//console.log("ํด๋น์์ 1์ผ ์์ผ: "+ weekText);
//6. ๊ทธ๋ฆฌ๊ธฐ
var tblNode = document.getElementById("calendarTbl");
var trNode = document.createElement("tr");
for (var i = 1; i <= week; i++)
{
trNode.appendChild(createTdNode(" "));
//console.log(trNode);
if(i%7==0)
{
tblNode.appendChild(trNode);
trNode = document.createElement("tr");
}
}
tblNode.appendChild(trNode);
for (var i = 1; i <= lastDay[Number(txtMonth)-1]; i++)
{
trNode.appendChild(createTdNode(i));
//alert(trNode[0]);
console.log(trNode);
if((i+week)%7==0)
{
tblNode.appendChild(trNode);
trNode = document.createElement("tr");
}
}
tblNode.appendChild(trNode);
}
function createTdNode(val)
{
var dayText = document.createTextNode(val);
var tdNode = document.createElement("td");
tdNode.appendChild(dayText);
return tdNode;
}
</script>
</body>
</html>
ใดใด Test025_01.html(ํจ๊ป ํผ ํ์ด)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test025_1.html</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body class="section">
<div>
<h1>ํ
์ด๋ธ ๋์ ์์ฑ์ผ๋ก ๋ง๋
๋ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ</h1>
<hr>
</div>
<div class="layout">
<form>
<div class="input_box">
<input type="text" id="txtYear" class="txt" style="width: 80px">๋
<input type="text" id="txtMonth" class="txt" style="width: 40px">์
</div>
<div class="btn_box">
<input type="button" class="btn" value="๋ง๋
๋ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ" onclick="actionCalendar()">
</div>
<!-- 5-1 & 5-2 ์ธ ๊ฒฝ์ฐ... -->
<div>
<table border="1" id="calendarTbl">
<tr>
<th>์ผ</th>
<th>์</th>
<th>ํ</th>
<th>์</th>
<th>๋ชฉ</th>
<th>๊ธ</th>
<th>ํ </th>
</tr>
</table>
</div>
<!-- 5-3 ์ธ ๊ฒฝ์ฐ... -->
<!-- <div>
<div id="newCalendarBox"></div>
</div> -->
</form>
</div>
<script type="text/javascript">
function actionCalendar()
{
// ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋
, ์ ๊ฐ์ ธ์ค๊ธฐ
var yearStr = document.getElementById("txtYear").value;
var monthStr = document.getElementById("txtMonth").value;
// ๋ฌธ์์ด ํํ๋ก ํ์ธํด ๋ณผ์ ์๋ ์ ํจ์ฑ ๊ฒ์ฌ ์ฝ๋ ์ฝ์
๊ฐ๋ฅ~!!!
var year = parseInt(yearStr);
var month = parseInt(monthStr);
// **๋
๋, ์ ๋ฐ๋ก ํํฐ๋ง**
/*
if (year < 1)
{
alert("์
๋ ฅ ๋
๋ ์ด์~!!!");
return;
}
if (month < 1 || month > 12)
{
alert("์
๋ ฅ ์ ์ด์");
return
}
*/
// **๋
๋, ์ ๊ฐ์ด ํํฐ๋ง**
if (year < 1 || month < 1 || month > 12)
{
alert("์
๋ ฅํ ๋
๋๋ ์์ด ์ ํจํ์ง ์์ต๋๋ค~!!!");
return;
}
// โป ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋
๋, ์ -> ์ฌ๊ธฐ์ ํด๋นํ๋ 1์ผ์ ์์ผ ์์๋ด๊ธฐ~!!
// Math.floor(); -> ์์๋ถ ์ ์ญ -> parseInt()
// Math.ceil(); -> ์์๋ถ ์ฌ๋ฆผ
// Math.round(); -> ์์๋ถ ๋ฐ์ฌ๋ฆผ
// 1๋จ๊ณ. 1๋
1์ 1์ผ ๋ถํฐ.. ์
๋ ฅ ๋
๋ ๊ธฐ์ค ์ ๋
๋ 12์ 31์ผ ๊น์ง์ ์ด ๋ ์ง ์ ๊ตฌํ๊ธฐ
//**์๋ฐ์์๋ ์ ์ / ์ ์ ๊ฐ ์ ์๋ง ๋์ค์ง๋ง, ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์์์ ๊น์ง ๋ชจ๋ ์ถ๋ ฅ๋จ**
var total = 0;
total = (year-1)*365 + parseInt((year-1)/4) - parseInt((year-1)/100) + parseInt((year-1)/400);
// ์๋ฏธ ํ์ธ
//alert("1๋
1์1์ผ ~ "+ (year-1) + "๋
12์ 31์ผ: "+ total + "์ผ");
//--==>> 1๋
1์1์ผ ~ 2023๋
12์ 31์ผ: 738885์ผ
// 2๋จ๊ณ. ํด๋น ๋
๋์ 1์ 1์ผ๋ถํฐ.. ํด๋น ๋
๋ ํด๋น ์ 1์ผ ๊น์ง์ ์ด ๋ ์ง ์ ๊ตฌํด์ 1๋จ๊ณ์ ๋ํ๊ธฐ
// 1๋จ๊ณ ๋ํ๊ธฐ
var m = [31,28,31,30,31,30,31,30,31,31,30,31];
// ํ์ธ
//alert(m.length);
//--==>> 12
// (a)
/*
for (var i=0; i<month-1; i++)
total += m[i];
total++;
if (month >= 3 && (year%4==0 && year%100!=0 || year%400==0))
total++;
*/
// (b)
if(year%4==0 && year%100!=0 || year%400==0)
m[1]=29;
for(var i=0; i<month-1; i++)
total += m[i];
total++;
// ์๋ฏธ ํ์ธ
//alert("1๋
1์1์ผ ~ "+ (year-1) + "๋
12์ 31์ผ: "+ total + "์ผ");
//--==>> 1๋
1์1์ผ ~ 2023๋
12์ 31์ผ: 738946์ผ
// 3๋จ๊ณ. ํด๋น ๋
๋์ ํด๋น ์์ ์ฒซ ๋ (1์ผ)์ ์์ผ ๊ตฌํ๊ธฐ
var days = total%7;
// ํ์ธ
//alert(days);
//--==>> 5 (2024๋
3์ ๊ธฐ์ค) -> 2024๋
3์ 1์ผ์ ๊ธ์์ผ
//--==>> 2 (2023๋
8์ ๊ธฐ์ค) -> 2023๋
8์ 1์ผ์ ํ์์ผ
// 4๋จ๊ณ. ํด๋น ๋
๋ ํด๋น ์์ ๋ง์ง๋ง ๋ ์ง ๊ตฌํ๊ธฐ
// (28์ผ or 29์ผ or 30์ผ or 31์ผ)
var lastDay = m[month-1];
// ์์์ (a)๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ์ ๊ฒฝ์ฐ๋ ์ถ๊ฐ ์ฐ์ฐ ํ์
/*
if(month==2 && (year%4==0 && year%100!=0 || year%400==0)) //**2์์ธ ๋์์ ์ค๋
์ด๋ผ๋ฉด**
{
lastDay=29;
}
*/
// ํ์ธ
//alert(lastDay);
//--==>> 29 (2024๋
2์ ๊ธฐ์ค)
// 28 (2023๋
2์ ๊ธฐ์ค)
// 31 (2024๋
3์ ๊ธฐ์ค)
// 5๋จ๊ณ. ํด๋น ๋
๋ ํด๋น ์ ๊ธฐ์ค ๋ฌ๋ ฅ ๊ตฌ์ฑ(์ถ๋ ฅ, ๊ทธ๋ฆฌ๊ธฐ)
// 5-1. ๊ธฐ์กด ํ
์ด๋ธ ํ์ฉํ๊ธฐ
//------------------------------------------------------------------------------------
/*
var tableNode = document.getElementById("calendarTbl");
// <table id=calendarTbl>...</table>
var trNode = document.createElement("tr");
// <tr>..</tr>
// - ํด๋น์์ 1์ผ์ด ์์๋๊ธฐ ์ ์ ๋น์นธ td ์ฑ์ฐ๊ธฐ
for(var i=0; i<days; i++)
{
trNode.appendChild(createTdNode(""));
}
// - 1์ผ ๋ถํฐ.. ํด๋น ์์ ๋ง์ง๋ง ๋ ์ง๊น์ง ๋น์นธ td ์ฑ์ฐ๊ธฐ
var d = 1;
for(var d=1; d<=lastDay; d++)
{
trNode.appendChild(createTdNode(d)); // ์ด๋ค ํํ์ธ์ง ํ์ธ
// ์ผ์์ผ์ ๊ทธ๋ฆฌ๊ธฐ ์์ํ ๋...
// ๊ธฐ์กด tr ๊ตฌ์ฑ์ ๋ง๋ฌด๋ฆฌํ๊ณ
// ๋ค์ ์๋ก์ด tr์ ๊ตฌ์ฑ
// check~!!! ---------------------------------
if((d+days)%7==0) // ์ผ์์ผ์ ๊ทธ๋ฆฌ๊ธฐ ์ ์...
{
//tableNode.appendChild(trNode); // trNode ๋ฅผ tableNode ์ ์ถ๊ฐ
tbodyNode.appendChild(trNode);
trNode = document.createElement("tr"); // ์๋ก์ด trNode ๊ตฌ์ฑ
}
// ---------------------------------- check~!!!
}
// ํ์ธ
//-- 31์ผ ๊น์ง ์ถ๋ ฅํ ๋ ์ง์์ ํ์ธํ ๊ฒฐ๊ณผ
//alert(d);
//--==>> 32 **(2023๋
3์ -> 31์ด ๋ง์ง๋ง ๋ , d ์ถ๋ ฅ์ 32)**
// - ๋ ์ง ๊ตฌ์ฑ ์ดํ ๋ง์ง๋ง ๋น์นธ td ์ฑ์ฐ๊ธฐ
// (์ต์ข
์ ์ผ๋ก ์ฒ๋ฆฌ๋ ๋ ์ง๊ฐ ์ผ์์ผ ๊ฐํ์ด ์ ์ฉ๋์ง ์์ ๊ฒฝ์ฐ๋ง...)
// **์ค์**
if( ((d-1)+days)%7!=0 )
{
for(var i=0; i<7; i++,d++) //**d ๋ 1์ฉ ์ฆ๊ฐ์์ผ์ผํจ**
{
trNode.appendChild(createTdNode(""));
if((d+days)%7==0)
{
//tableNode.appendChild(trNode);
tbodyNode.appendChild(trNode);
break;
}
}
}
//tableNode.appendChild(trNode);
*/
//--------------------------------------------------------------- ๊ธฐ์กด ํ
์ด๋ธ ํ์ฉํ๊ธฐ
// 5-2. tbody ํ์ฉํ๊ธฐ
//------------------------------------------------------------------------------------
var tableNode = document.getElementById("calendarTbl");
var tbodyNode = null;
// ํ์ธ
//alert(tableNode); //--==>> [object HTMLTableElement]
//alert(tableNode.childNodes[0]); //--==>> [object Text]
//alert(tableNode.childNodes[0].nodeType) //--==>> 3
//alert(tableNode.childNodes[1]); //--==>> [object HTMLTableSectionElement]
if(tableNode.childNodes[0].nodeType==1)
tbodyNode = tableNode.childNodes[0];
else
tbodyNode = tableNode.childNodes[1]; // ํฌ๋กฌ
// ํ์ธ
//alert(tbodyNode.childNodes.length); //--==>> 2
//alert(tbodyNode.childNodes[0]); //--==>> [object HTMLTableElement]
//alert(tbodyNode.childNodes[1]); //--==>> [object Text]
// tbodyNode ์ ๊ธฐ์กด ์์ ๋
ธ๋ ์ญ์ ๊ณผ์
for (var n=tbodyNode.childNodes.length-1; n>=0; n--) // 1 0
{
tbodyNode.removeChild(tbodyNode.childNodes[n]);
}
// <table></table>
var trNode = document.createElement("tr"); //<tr></tr>
// ์์ผ ์ด๋ฆ ๋ค์ ์ถ๋ ฅํ๊ธฐ
var dayNames = ["์ผ์์ผ", "์์์ผ", "ํ์์ผ", "์์์ผ", "๋ชฉ์์ผ", "๊ธ์์ผ", "ํ ์์ผ"];
for(var i=0; i<dayNames.length; i++)
{
trNode.appendChild(createTdNode(dayNames[i]));
}
tbodyNode.appendChild(trNode);
//*******************์์ ๋ด์ฉ๊ณผ ๊ฐ์ ๋ถ๋ถ*******************
var trNode = document.createElement("tr");
// <tr>..</tr>
// - ํด๋น์์ 1์ผ์ด ์์๋๊ธฐ ์ ์ ๋น์นธ td ์ฑ์ฐ๊ธฐ
for(var i=0; i<days; i++)
{
trNode.appendChild(createTdNode(""));
}
// - 1์ผ ๋ถํฐ.. ํด๋น ์์ ๋ง์ง๋ง ๋ ์ง๊น์ง ๋น์นธ td ์ฑ์ฐ๊ธฐ
var d = 1;
for(var d=1; d<=lastDay; d++)
{
trNode.appendChild(createTdNode(d)); // ์ด๋ค ํํ์ธ์ง ํ์ธ
// ์ผ์์ผ์ ๊ทธ๋ฆฌ๊ธฐ ์์ํ ๋...
// ๊ธฐ์กด tr ๊ตฌ์ฑ์ ๋ง๋ฌด๋ฆฌํ๊ณ
// ๋ค์ ์๋ก์ด tr์ ๊ตฌ์ฑ
// check~!!! ---------------------------------
if((d+days)%7==0) // ์ผ์์ผ์ ๊ทธ๋ฆฌ๊ธฐ ์ ์...
{
//tableNode.appendChild(trNode); // trNode ๋ฅผ tableNode ์ ์ถ๊ฐ
tbodyNode.appendChild(trNode);
trNode = document.createElement("tr"); // ์๋ก์ด trNode ๊ตฌ์ฑ
}
// ---------------------------------- check~!!!
}
// ํ์ธ
//-- 31์ผ ๊น์ง ์ถ๋ ฅํ ๋ ์ง์์ ํ์ธํ ๊ฒฐ๊ณผ
//alert(d);
//--==>> 32 **(2023๋
3์ -> 31์ด ๋ง์ง๋ง ๋ , d ์ถ๋ ฅ์ 32)**
// - ๋ ์ง ๊ตฌ์ฑ ์ดํ ๋ง์ง๋ง ๋น์นธ td ์ฑ์ฐ๊ธฐ
// (์ต์ข
์ ์ผ๋ก ์ฒ๋ฆฌ๋ ๋ ์ง๊ฐ ์ผ์์ผ ๊ฐํ์ด ์ ์ฉ๋์ง ์์ ๊ฒฝ์ฐ๋ง...)
// **์ค์**
if( ((d-1)+days)%7!=0 )
{
for(var i=0; i<7; i++,d++) //**d ๋ 1์ฉ ์ฆ๊ฐ์์ผ์ผํจ**
{
trNode.appendChild(createTdNode(""));
if((d+days)%7==0)
{
//tableNode.appendChild(trNode);
tbodyNode.appendChild(trNode);
break;
}
}
}
//tableNode.appendChild(trNode);
//--------------------------------------------------------------------- tbody ํ์ฉํ๊ธฐ
// 5-3. ์๋ก์ด ๋ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ
//------------------------------------------------------------------------------------
/*
var calendarBox = document.getElementById("newCalendarBox");
var tableNode = document.createElement("table"); //<table></table>
var trNode = document.createElement("tr"); //<tr></tr>
var dayNames = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fir", "Sat"];
for(var i=0; i<dayNames.length; i++)
trNode.appendChild(createTdNode(dayNames[i]));
tableNode.appendChild(trNode);
// S: *******************์์ ๋ด์ฉ๊ณผ ๊ฐ์ ๋ถ๋ถ*******************
var trNode = document.createElement("tr");
// <tr>..</tr>
// - ํด๋น์์ 1์ผ์ด ์์๋๊ธฐ ์ ์ ๋น์นธ td ์ฑ์ฐ๊ธฐ
for(var i=0; i<days; i++)
{
trNode.appendChild(createTdNode(""));
}
// - 1์ผ ๋ถํฐ.. ํด๋น ์์ ๋ง์ง๋ง ๋ ์ง๊น์ง ๋น์นธ td ์ฑ์ฐ๊ธฐ
var d = 1;
for(var d=1; d<=lastDay; d++)
{
trNode.appendChild(createTdNode(d)); // ์ด๋ค ํํ์ธ์ง ํ์ธ
// ์ผ์์ผ์ ๊ทธ๋ฆฌ๊ธฐ ์์ํ ๋...
// ๊ธฐ์กด tr ๊ตฌ์ฑ์ ๋ง๋ฌด๋ฆฌํ๊ณ
// ๋ค์ ์๋ก์ด tr์ ๊ตฌ์ฑ
// check~!!! ---------------------------------
if((d+days)%7==0) // ์ผ์์ผ์ ๊ทธ๋ฆฌ๊ธฐ ์ ์...
{
//tableNode.appendChild(trNode); // trNode ๋ฅผ tableNode ์ ์ถ๊ฐ
tbodyNode.appendChild(trNode);
trNode = document.createElement("tr"); // ์๋ก์ด trNode ๊ตฌ์ฑ
}
// ---------------------------------- check~!!!
}
// ํ์ธ
//-- 31์ผ ๊น์ง ์ถ๋ ฅํ ๋ ์ง์์ ํ์ธํ ๊ฒฐ๊ณผ
//alert(d);
//--==>> 32 **(2023๋
3์ -> 31์ด ๋ง์ง๋ง ๋ , d ์ถ๋ ฅ์ 32)**
// - ๋ ์ง ๊ตฌ์ฑ ์ดํ ๋ง์ง๋ง ๋น์นธ td ์ฑ์ฐ๊ธฐ
// (์ต์ข
์ ์ผ๋ก ์ฒ๋ฆฌ๋ ๋ ์ง๊ฐ ์ผ์์ผ ๊ฐํ์ด ์ ์ฉ๋์ง ์์ ๊ฒฝ์ฐ๋ง...)
// **์ค์**
if( ((d-1)+days)%7!=0 )
{
for(var i=0; i<7; i++,d++) //**d ๋ 1์ฉ ์ฆ๊ฐ์์ผ์ผํจ**
{
trNode.appendChild(createTdNode(""));
if((d+days)%7==0)
{
//tableNode.appendChild(trNode);
tbodyNode.appendChild(trNode);
break;
}
}
}
//tableNode.appendChild(trNode);
// E: *******************์์ ๋ด์ฉ๊ณผ ๊ฐ์ ๋ถ๋ถ*******************
// check~!!!
// ****
calendarBox.appendChild(tableNode);
*/
//----------------------------------------------------------------- ์๋ก์ด ๋ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ
// - ํด๋น ์์ 1์ผ์ด ์์๋๊ธฐ ์ ์ ๋น ์นธ td ์ฑ์ฐ๊ธฐ
}
function createTdNode(val) // "ํ๊ธธ๋"
{
var textNode = document.createTextNode(val); // ใด "ํ๊ธธ๋"
var tdNode = document.createElement("td"); // <td></td>
tdNode.appendChild(textNode); // <td></td>
// ใด "ํ๊ธธ๋"
return tdNode; // <td>ํ๊ธธ๋</td>
}
</script>
</body>
</html>'๐ ๋ฐฐ์ฐ๊ณ ์ตํ๊ธฐ + > Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| (71)[Web]7์ผ์ฐจ: ((Javascript))F_WebApp03>Test031~036 (2) | 2023.12.05 |
|---|---|
| (70)[Web]6์ผ์ฐจ: ((Javascript))F_WebApp03>Test026~030 (1) | 2023.12.04 |
| (69)[Web]4์ผ์ฐจ: ((Javascript)) F_WebApp03>Test015~021 (1) | 2023.12.01 |
| (68)[Web]3์ผ์ฐจ: โ Javascript ๊ฐ์ ๋ฐ ๊ธฐ๋ณธ๋ฌธ๋ฒ โ / F_WebApp03>Test001~Test014 (0) | 2023.11.29 |
| (68)[Web]3์ผ์ฐจ: ((CSS)) F_WebApp02>Test005~020 (4) | 2023.11.29 |