๋ชฉ์ฐจ
1. 2023.12.6(์)
F_WebApp03
ใด C:\WebStudy\WebApp03\WebContent
ใดใดTest037.html_์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด(์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด)-(2)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test037.html</title>
<!-- <link rel="stylesheet" type="text/css" href="css/main.css"> -->
<link rel="stylesheet" type="text/css" href="css/style.css">
<style type="text/css">
th{text-align: left;}
</style>
<script type="text/javascript">
function objTest()
{
// ํ์ธ
//alert("ํจ์ ํธ์ถ");
// ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด
// Test036.html ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด ๊ตฌ์ฑ
// ๋จ, ์ฐจ์ด์ ํ์ธ~!!! check~!!!
function Blog(b,d)
{
// ์ฃผ์ ์์ฑ ๊ตฌ์ฑ
this.body = b;
this.date = d;
// ๋ ์ง ์ถ๋ ฅ์ฉ ํจ์ ์ ์
this.userLocalString = function()
{
return d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate();
};
}
// ๊ฐ์ฒด ์์ฑ
var blog = new Blog("๋ธ๋ก๊ทธ ๊ฐ์ค", "2023-11-15");
var str = blog.body + " / " + blog.date;
// ํ์ธ
//alert(str);
//--==>> ๋ธ๋ก๊ทธ ๊ฐ์ค / 2023-11-15
// Test036.html ์์ ๋ง์ฐฌ๊ฐ์ง๋ก
// ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด ์ฌ๋ฌ ๊ฐ๋ฅผ ์๋ฐ ์คํฌ๋ฆฝํธ ๋ฐฐ์ด ๊ตฌ์กฐ์ ์ ์ฅ.
// ๋จ, ์ฐจ์ด์ ํ์ธ~!!! check~!!!
// -> ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฅ ๊ฐ์ฒด ํ์ฉ
var arr = [new Blog("๋ธ๋ก๊ทธ ๊ฐ์ค", new Date("2023/11/15"))
, new Blog("๋ธ๋ก๊ทธ ๋ ์ด์์ ๊ตฌ์ฑ", new Date("2023/11/16"))
, new Blog("์์ฑ์ ์ด์ฉํ ๊ฐ์ฒด ์์ฑ", new Date("2023/11/17"))];
/*
โ ์๋ฐ์คํฌ๋ฆฝํธ์์์ ๋ ์ง ๋ฐ์ดํฐ
Date ๊ฐ์ฒด๋ ๋ ์ง์ ์๊ฐ ์์
์ ํ๋๋ฐ ์ฌ์ฉ๋๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฅ ๊ฐ์ฒด์ด๋ค.
var now = new Date();
now.toString();
now.toLocaleString();
now.toLocaleDateString();
now.toLocaleTimeString();
now.getFullYear();
now.getMonth()+1; //-- check~!!!(์ ๋จ์๋ ์๋ฐ์์์ฒ๋ผ 0๋ถํฐ ์์๋๋ค.)
now.getDate();
โป ์ฃผ์
var userDate1 = new Date("2023/11/15"); //--(O)
var userDate2 = new Date(2023,11,15); //--(O)
var userDate3 = new Date(Nov, 15, 2023);//--(O)
var userDate4 = new Date("2023-11-15"); //--(X)
var userDate5 = new Date("20231115"); //--(X)
*/
str = "<table>";
str += "<tr><th>์ ๋ชฉ</th><th>๋ ์ง</th></tr>"
// Test036.html-- check~!!!
/* for (var i = 0; i < arr.length; i++)
{
str += "<tr>";
str += "<td>" + arr[i].body + "</td>"
str += "<td>" + arr[i].date + "</td>" ;
str += "</tr>";
} */
for (var i = 0; i < arr.length; i++)
{
str += "<tr>";
str += "<td>" + arr[i].body + "</td>";
//str += "<td>" + arr[i].date + "</td>";
str += "<td>" + arr[i].userLocalString() + "</td>";
str += "</tr>";
}
str += "</table>";
var result = document.getElementById("result");
result.innerHTML = str;
}
</script>
</head>
<body class="section">
<div>
<h1>์๋ฐ์คํฌ๋ฆฝํธ ํ์ฉ</h1>
</div>
<div class="layout">
<h2>์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด(์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด)-(2)</h2>
<div class="btn_box">
<input type="button" value="์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด" class="btn control" onclick="objTest()">
</div>
<div>
<div id="result"></div>
</div>
</div>
</body>
</html>
ใดใดTest038.html_์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด ๋ฐ ํ๋กํ ํ์ ํ์ฉ

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test038.html</title>
<!-- <link rel="stylesheet" type="text/css" href="css/main.css"> -->
<link rel="stylesheet" type="text/css" href="css/style.css">
<style type="text/css">
table{width: 100%;}
th{text-align: left;}
#uName{width: 150px;}
#uContent{width: 100%;}
#btn{width: 100%;}
</style>
<script type="text/javascript">
// ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด ๊ฐ์ฒด ๊ตฌ์ฑ
var boardArray = new Array();
// ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด ๊ตฌ์ฑ(-> ์์ฑ์ ํจ์ ์ ์)
/* **
๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ค ->
- ์๋ฐ๋ ํด๋์ค๋ก ๋ง๋ค์ด์ง
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ํจ์์ ํํ๋ก ๋ง๋ค์ด์ง
๋ฐ๋ผ์, ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๊ฐ์ฒด์ ๊ฒฝ์ฐ ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ๋ง๋ค๊ธฐ๋ก ์๋ฌต์ ์ผ๋ก ์ฝ์ํจ
this ->
- ์๋ฐ๋ ํด๋์ค๋ฅผ ์ฐพ์๊ฐ
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ํด๋น ํจ์๊ฐ ๋์๊ฐ๋ ๊ทธ ์์ฒด..?
** */
function Board(uName,uContent)
{
this.userName = uName;
this.content = uContent;
this.writeDay = new Date();
};
// ํ๋กํ ํ์
๊ตฌ์ฑ์ ํตํด... ์ฌ์ฉ์ ์ ์ ํจ์(๊ธฐ๋ฅ, ๋์) ์ ์
//Board.prototype.userLocalString = function(){ };
Board.prototype.userLocalString = function()
{
return this.writeDay.getFullYear() + "-"
+ (this.writeDay.getMonth()+1) + "-"
+ this.writeDay.getDate() + " "
+ this.writeDay.getHours() + ":"
+ this.writeDay.getMinutes() + ":"
+ this.writeDay.getSeconds();
// ์ -> getHours()
// ๋ถ -> getMinutes()
// ์ด -> getSeconds()
};
// ๊ธ์ฐ๊ธฐ ๋ฒํผ์ด ํด๋ฆญ๋์์ ๋ ํธ์ถ๋์ด ๊ธฐ๋ฅํ๋ ํจ์
function protoTest()
{
// ํ์ธ
//alert("ํจ์ ํธ์ถ~!!!");
var uName = document.getElementById("uName").value;
var uContent = document.getElementById("uContent").value;
var len = boardArray.length;
// ํ์ธ
//alert(len);
//--==>> ํ์ฌ ์์ ์์ ํ
์คํธ์... -> 0
boardArray[len] = new Board(uName, uContent);
// ํ์ธ
//alert(len);
//--==>> ์์ฑ์ด ์ด๋ฃจ์ด์ง ๋๋ง๋ค... -> +1
// ๋ด์ฉ ์ถ๋ ฅ -> ์ถ๋ ฅ ํจ์ ํธ์ถ
print(len);
}
// ๋ด์ฉ ์ถ๋ ฅ ํจ์ ์ ์
function print(idx)
{
// ํ์ธ
//var strTemp = boardArray[idx].content;
//alert(strTemp);
var uNameTxt = boardArray[idx].userName;
var uContentTxt = boardArray[idx].content;
var num = idx+1;
var date = boardArray[idx].userLocalString();
var trNode = document.createElement("tr");
trNode.appendChild(createTdNode(num));
trNode.appendChild(createTdNode(uNameTxt));
trNode.appendChild(createTdNode(uContentTxt));
trNode.appendChild(createTdNode(date));
var tableNode = document.getElementById("bbsTable");
tableNode.appendChild(trNode);
}
// td ๋
ธ๋๋ฅผ ์์ฑ ๋ฐ ๋ฐํ ํจ์ ์ ์
function createTdNode(val)
{
var textNode = document.createTextNode(val);
var tdNode = document.createElement("td");
tdNode.appendChild(textNode);
return tdNode;
}
</script>
</head>
<body class="section">
<div>
<h1>์๋ฐ์คํฌ๋ฆฝํธ ํ์ฉ</h1>
</div>
<div class="layout">
<p>์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด ๋ฐ ํ๋กํ ํ์
ํ์ฉ</p>
<div>
<form>
<!-- ์
๋ ฅ ํผ์ ๊ตฌ์ฑํ๋ ๋ ์ด์์ ํ
์ด๋ธ -> ๋์ค์ div๋ก ๊ตฌ์ฑํด ๋ณผ ๊ฒ -->
<div class="table_box">
<table class="table">
<tr>
<th>์์ฑ์</th>
<td><input type="text" id="uName" class="txt"></td>
</tr>
<tr>
<th>๋ด์ฉ</th>
<td><input type="text" id="uContent" class="txt"></td>
</tr>
<tr>
<th colspan="2"><input type="button" value="๊ธ์ฐ๊ธฐ" class="btn" onclick="protoTest()"></th>
</tr>
</table>
</div>
<!-- ๋ด์ฉ์ ๋ฆฌ์คํธ ํ์์ผ๋ก ๋ณผ ์ ์๋๋ก ๊ตฌ์ฑํ๋ ๋ ์ด์์ ํ
์ด๋ธ -->
<div class="table_box">
<table class="table table_box" id="bbsTable">
<tr>
<th>๋ฒํธ</th><th>์์ฑ์</th><th>๋ด์ฉ</th><th>์์ฑ์ผ</th>
</tr>
</table>
</div>
</form>
</div>
</div>
</body>
</html>