<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cadastro com Persistência de Dados</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
input, button {
margin: 5px 0;
padding: 10px;
font-size: 16px;
width: 100%;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
table, th, td {
border: 1px solid #ddd;
}
th, td {
padding: 10px;
text-align: left;
}
th {
background-color: #f4f4f4;
}
</style>
</head>
<body>
<h1>Cadastro de Nome e E-mail</h1>
<label for="nome">Nome:</label>
<input type="text" id="nome" placeholder="Digite seu nome">
<label for="email">E-mail:</label>
<input type="email" id="email" placeholder="Digite seu e-mail">
<button onclick="adicionar()">Adicionar</button>
<button onclick="limpar()">Limpar Todos</button>
<h2>Lista de Contatos</h2>
<table>
<thead>
<tr>
<th>Nome</th>
<th>E-mail</th>
<th>Ações</th>
</tr>
</thead>
<tbody id="tabela-contatos">
<!-- Os contatos aparecerão aqui -->
</tbody>
</table>
<script>
// Recuperar contatos do localStorage ao carregar a página
************('DOMContentLoaded', carregarContatos);
function adicionar() {
const nome = ************('nome').************();
const email = ************('email').************();
if (!nome || !email) {
alert('Por favor, preencha todos os campos!');
return;
}
// Criar um objeto para o contato
const contato = { nome, email };
// Recuperar a lista de contatos do localStorage
const contatos = ************(************('contatos')) || [];
// Adicionar o novo contato à lista
************(contato);
// Salvar a lista atualizada no localStorage
************('contatos', ************(contatos));
// Atualizar a tabela
carregarContatos();
// Limpar os campos
************('nome').value = '';
************('email').value = '';
}
function carregarContatos() {
const contatos = ************(************('contatos')) || [];
const tabela = ************('tabela-contatos');
************ = ''; // Limpar tabela
// Preencher a tabela com os contatos
************((contato, index) => {
const row = ************();
************ = `
<td>${************}</td>
<td>${************}</td>
<td>
<button onclick="excluir(${index})">Excluir</button>
</td>
`;
});
}
function excluir(index) {
const contatos = ************(************('contatos')) || [];
************(index, 1); // Remover o contato pelo índice
// Salvar a lista atualizada no localStorage
************('contatos', ************(contatos));
// Atualizar a tabela
carregarContatos();
}
function limpar() {
if (confirm('Tem certeza de que deseja limpar todos os contatos?')) {
************('contatos'); // Remover todos os dados do localStorage
carregarContatos(); // Atualizar a tabela
}
}
</script>
</body>
</html>