<header>
<h2 class="title">HTML Events: reset</h2>
<p class="description">Подія, що відстежує скидання форми, з можливістю його підтвердження.</p>
</header>
<main>
<div class="result">
<!-- Форма для демонстрації -->
<form id="myForm">
<label for="name">Ім'я:</label>
<input type="text" id="name" name="name">
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<button type="submit">Відправити</button>
<button type="reset">Скинути</button>
</form>
<!-- Журнал дій -->
<div id="log" class="log">
<h3>Журнал подій:</h3>
<ul id="logList"></ul>
</div>
</div>
</main>
body {
font-size: 16px;
line-height: 1.5;
font-family: monospace;
}
header {
background-color: #f1f1f1;
margin-bottom: 25px;
padding: 15px;
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
header h2.title {
padding-bottom: 15px;
border-bottom: 1px solid #999;
}
header p.description {
font-style: italic;
color: #222;
}
.result {
background-color: #f8f8f8;
padding: 15px;
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
form {
display: flex;
flex-direction: column;
max-width: 300px;
margin-bottom: 20px;
}
label {
margin-top: 10px;
}
input {
padding: 8px;
margin-top: 5px;
}
button {
margin-top: 15px;
padding: 10px;
font-size: 16px;
cursor: pointer;
}
.log {
margin-top: 20px;
}
.log h3 {
font-size: 18px;
}
.log ul {
list-style-type: none;
padding: 0;
}
.log ul li {
background-color: #f1f1f1;
padding: 5px 10px;
margin: 5px 0;
border-left: 4px solid #76c7c0;
}
let form = document.getElementById('myForm');
let logList = document.getElementById('logList');
// Слухач для події скидання
form.addEventListener('reset', function(event) {
// Підтвердження скидання форми
if (!confirm('Ви впевнені, що хочете скинути форму?')) {
event.preventDefault(); // Скасовуємо скидання, якщо користувач натискає "Скасувати"
} else {
// Додаємо запис в журнал після скидання
let listItem = document.createElement('li');
listItem.textContent = `Форма скинута о ${new Date().toLocaleTimeString()}`;
logList.appendChild(listItem);
}
});
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.