웹
웹페이지
148june
2025. 2. 19. 10:48
방명록
방명록 내용
코드는
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>방명록</title>
<style>
.guest-book-container {
width: 80%;
max-width: 600px;
margin: 20px auto;
padding: 20px;
background-color: #f9f9f9;
border-radius: 12px;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
border: 2px solid #ddd;
}
.guest-book ul {
list-style-type: none;
padding: 0;
}
.guest-book li {
margin-bottom: 10px;
}
textarea {
width: 80%;
padding: 8px;
font-size: 16px;
margin-bottom: 10px;
box-sizing: border-box;
}
input[type="text"] {
width: 30%;
padding: 8px;
font-size: 16px;
margin-bottom: 10px;
box-sizing: border-box;
}
button {
margin-top: 10px;
padding: 10px 20px;
background-color: #000000;
color: white;
border: none;
cursor: pointer;
}
button:hover {
background-color: #333;
}
.message-box {
display: flex;
justify-content: space-between;
align-items: center;
width: 80%;
max-width: 600px;
border: 2px solid #333;
padding: 20px;
border-radius: 12px;
background-color: #fdf6e3;
box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
margin-bottom: 10px;
}
.button-group {
display: flex;
gap: 5px;
}
.edit-btn {
background-color: #0067A3;
padding: 8px 16px;
}
.delete-btn {
background-color: #e74c3c;
padding: 8px 16px;
}
</style>
</head>
<body>
<div class="guest-book-container">
<div class="guest-book">
<h3>방명록</h3>
<form id="guestBookForm">
<label for="name">이름:</label><br>
<input type="text" id="name" name="name" required placeholder="이름을 입력하세요"><br>
<label for="message">내용:</label><br>
<textarea id="message" name="message" required placeholder="방명록 내용을 입력하세요"></textarea>
<button type="submit">저장</button>
</form>
<h4>방명록 내용</h4>
<ul id="guestMessages"></ul>
</div>
</div>
<script>
const guestMessages = document.getElementById('guestMessages');
document.getElementById('guestBookForm').addEventListener('submit', function (event) {
event.preventDefault();
const name = document.getElementById('name').value;
const message = document.getElementById('message').value;
addMessage(name, message);
});
function addMessage(name, message) {
const messageBox = document.createElement('div');
messageBox.className = 'message-box';
const textSpan = document.createElement('span');
textSpan.textContent = `${name}: ${message}`;
const buttonGroup = document.createElement('div');
buttonGroup.className = 'button-group';
const editButton = document.createElement('button');
editButton.className = 'edit-btn';
editButton.textContent = '수정';
editButton.onclick = () => editMessage(textSpan, name, message);
const deleteButton = document.createElement('button');
deleteButton.className = 'delete-btn';
deleteButton.textContent = '삭제';
deleteButton.onclick = () => messageBox.remove();
buttonGroup.appendChild(editButton);
buttonGroup.appendChild(deleteButton);
messageBox.appendChild(textSpan);
messageBox.appendChild(buttonGroup);
guestMessages.appendChild(messageBox);
}
function editMessage(textSpan, oldName, oldMessage) {
const newName = prompt("이름을 수정하세요", oldName);
const newMessage = prompt("내용을 수정하세요", oldMessage);
if (newName && newMessage) {
textSpan.textContent = `${newName}: ${newMessage}`;
}
}
</script>
</body>
</html>