利用html、css和JS写一个留言面板留言能保存在网页上
时间: 2024-02-23 09:03:32 浏览: 32
好的,下面是一个使用 HTML、CSS 和 JavaScript 编写的留言面板,留言内容可以保存在网页上。
HTML 代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>留言面板</title>
<style>
/* 样式表 */
body { font-family: Arial, sans-serif; }
.container { max-width: 800px; margin: 0 auto; }
h1 { text-align: center; }
form { margin-bottom: 20px; }
label { display: block; margin-bottom: 5px; }
input[type="text"], textarea { width: 100%; padding: 10px; margin-bottom: 20px; border: 1px solid #ccc; border-radius: 4px; }
button[type="submit"] { display: block; margin: 0 auto; padding: 10px 20px; background-color: #007bff; color: #fff; border: none; border-radius: 4px; cursor: pointer; }
.messages { list-style: none; padding: 0; margin: 0; }
.message { background-color: #f2f2f2; padding: 10px; margin-bottom: 10px; border-radius: 4px; }
.message h2 { margin-top: 0; }
.message p { margin-bottom: 0; }
</style>
</head>
<body>
<div class="container">
<h1>留言面板</h1>
<form>
<label for="name">姓名:</label>
<input type="text" id="name" required>
<label for="email">邮箱:</label>
<input type="text" id="email" required>
<label for="message">留言:</label>
<textarea id="message" required></textarea>
<button type="submit">提交留言</button>
</form>
<ul class="messages"></ul>
</div>
<script src="app.js"></script>
</body>
</html>
```
CSS 代码:
```css
/* 样式表 */
body { font-family: Arial, sans-serif; }
.container { max-width: 800px; margin: 0 auto; }
h1 { text-align: center; }
form { margin-bottom: 20px; }
label { display: block; margin-bottom: 5px; }
input[type="text"], textarea { width: 100%; padding: 10px; margin-bottom: 20px; border: 1px solid #ccc; border-radius: 4px; }
button[type="submit"] { display: block; margin: 0 auto; padding: 10px 20px; background-color: #007bff; color: #fff; border: none; border-radius: 4px; cursor: pointer; }
.messages { list-style: none; padding: 0; margin: 0; }
.message { background-color: #f2f2f2; padding: 10px; margin-bottom: 10px; border-radius: 4px; }
.message h2 { margin-top: 0; }
.message p { margin-bottom: 0; }
```
JavaScript 代码:
```js
const form = document.querySelector('form');
const messages = document.querySelector('.messages');
// 从 localStorage 中获取留言列表
let messageList = JSON.parse(localStorage.getItem('messages')) || [];
// 显示留言列表
function displayMessages() {
messages.innerHTML = '';
messageList.forEach(message => {
const li = document.createElement('li');
const h2 = document.createElement('h2');
const p1 = document.createElement('p');
const p2 = document.createElement('p');
h2.textContent = message.name;
p1.textContent = message.email;
p2.textContent = message.message;
li.classList.add('message');
li.appendChild(h2);
li.appendChild(p1);
li.appendChild(p2);
messages.appendChild(li);
});
}
// 提交表单
form.addEventListener('submit', event => {
event.preventDefault(); // 阻止表单默认提交行为
const name = form.querySelector('#name').value;
const email = form.querySelector('#email').value;
const message = form.querySelector('#message').value;
messageList.push({ name, email, message }); // 将留言添加到列表中
localStorage.setItem('messages', JSON.stringify(messageList)); // 将留言列表保存到 localStorage 中
form.reset(); // 重置表单
displayMessages(); // 显示留言列表
});
displayMessages(); // 页面加载时显示留言列表
```
这个留言面板使用了 HTML、CSS 和 JavaScript 技术,在页面中显示留言列表和留言表单。当用户提交留言时,它会将留言添加到 JavaScript 数组中,并将留言列表保存到 localStorage 中。当用户访问页面时,它会从 localStorage 中加载留言列表并将其显示在页面上。
请注意,这个留言面板仅用于示例目的,没有进行任何安全性和错误处理,您需要根据自己的需求进行适当的修改和改进。