- JavaScript -방명록 작성 (사용자 정의 함수 활용) 목차
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test037.html</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<script type="text/javascript">
// 배열 구성
var boardArray = new Array();
// 사용자 정의 객체 구성 (→ 생성자 함수 정의)
function Board(uName, uContent)
{
// 주요 속성 구성
this.userName=uName;
this.content=uContent;
this.writeDay=new Date();
}
// 프로토타입 구성을 통해... 사용자 정의 객체의 함수 정의
//프로토타입 구성을 통해 ... 사용자 정의 객체의 함수 정의
//★★★★★★★★모든 객체는 prototype이라는 숨겨진 객체가 존재한다 알아두기 !!★★★★★★★★
Board.prototype.userLocalString = function()
{
return this.writeDay.getFullYear() + "-"
+ (this.writeDay.getMonth()+1) + "-"
+ this.writeDay.getDate() + "-"
+ this.writeDay.getHours() + ":"
+ this.writeDay.getSeconds();
// 시 → getHours()
// 분 → getMinutes()
// 초 → getSeconds()
}
function main()
{
//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);
//-- 『Board()』 → 사용자 정의 객체(생성자 함수)
//alert(len);// -- 작성이 이루어질 때 마다... 『+1』
print(len);
clear(); //폼 클리어 하도록 호출
}
// 내용 출력 함수
function print(idx)
{
//var strTemp = boardArray[idx].content;
//alert(strTemp);
var tableNode = document.getElementById("bbsTable");
var trNode = document.createElement("tr");
trNode.appendChild(createTdNode((idx+1).toString()));
trNode.appendChild(createTdNode(boardArray[idx].userName));
trNode.appendChild(createTdNode(boardArray[idx].content));
trNode.appendChild(createTdNode(boardArray[idx].userLocalString()));
tableNode.appendChild(trNode);
}
function createTdNode(val)
{
var textNode = document.createTextNode(val);
var tdNode = document.createElement("td");
tdNode.appendChild(textNode);
return tdNode;
}
function clear()
{
document.getElementById("uName").value="";
document.getElementById("uContent").value="";
document.getElementById("uName").focus();
}
</script>
</head>
<body>
<div>
<h1>자바스크립트 활용</h1>
<hr>
</div>
<div>
<p>사용자 정의 객체 및 프로토타입을 활용한 자바스크립트 방명록</p>
<div>
<form>
<!-- 입력 폼을 구성하는 레이아웃 테이블 -->
<table class="tbl">
<tr>
<th>작성자</th>
<td>
<input type="text" id="uName" style="width: 150px;">
</td>
</tr>
<tr>
<th>내용</th>
<td>
<input type="text" id="uContent" style="width: 560px;">
</td>
</tr>
</table>
<br>
<input type="button" value="글쓰기" class="btn" style="width: 624px; height= 50px; font-size:18pt;" onclick="main()">
<br><br>
<!-- 방명록의 내용이 리스트 형식으로 보여지는 레이아웃 테이블 -->
<table class="tbl" id="bbsTable">
<tr>
<th>번호</th>
<th>작성자</th>
<th>내용</th>
<th>작성일</th>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>
'Web(국비) > 자바스크립트' 카테고리의 다른 글
JavaScript 개요 및 기본문법 (0) | 2019.10.22 |
---|---|
JavaScript -사용자 정의 객체(생성자) (내장 객체 활용)(2) (0) | 2019.10.22 |
JavaScript - 사용자 정의 객체 (0) | 2019.10.22 |
HTML * CSS * JavaScript 마무리 정리 (0) | 2019.10.22 |
JavaScript -메뉴 보이기/감추기 (0) | 2019.10.22 |