<!DOCTYPE html>
<html>
<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
<script src="https://cdn.jsdelivr.net/npm/flatpickr/dist/l10n/vn.js"></script>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container mt-5">
<div class="card shadow-lg rounded-4">
<div class="card-header bg-primary text-white">
<h4 class="mb-0">Form nhập thông tin học viên</h4>
</div>
<div class="card-body">
<form>
<div class="row">
<div class="col-md-6 mb-3">
<label class="form-label">Họ và tên</label>
<input type="text" class="form-control" placeholder="Nhập họ tên">
</div>
<div class="col-md-6 mb-3">
<label class="form-label">Ngày sinh</label>
<input type="text" id="ngaySinh" class="form-control w-auto" placeholder="ngày/tháng/năm">
</div>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label class="form-label">Email</label>
<input type="email" class="form-control" placeholder="example@email.com">
</div>
<div class="col-md-6 mb-3">
<label class="form-label">Số điện thoại</label>
<input type="text" class="form-control" placeholder="09xxxxxxxx">
</div>
</div>
<div class="mb-3">
<label class="form-label">Ghi chú</label>
<textarea class="form-control" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-primary">Lưu thông tin</button>
</form>
</div>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
flatpickr("#ngaySinh", {
dateFormat: "d/m/Y",
locale: "vn",
allowInput: true
});
function isValidDateVN(dateStr) {
const regex = /^(\d{2})\/(\d{2})\/(\d{4})$/;
const match = dateStr.match(regex);
if (!match) return false;
const day = parseInt(match[1], 10);
const month = parseInt(match[2], 10);
const year = parseInt(match[3], 10);
const date = new Date(year, month - 1, day);
return (
date.getFullYear() === year &&
date.getMonth() === month - 1 &&
date.getDate() === day
);
}
function formatDateToMySQL(dateStr) {
const parts = dateStr.split("/");
if (parts.length !== 3) return null;
const day = parts[0].padStart(2, '0');
const month = parts[1].padStart(2, '0');
const year = parts[2];
return `${year}-${month}-${day}`;
}
document.querySelector("form").addEventListener("submit", function(e) {
e.preventDefault();
const input = document.getElementById("ngaySinh");
const ngaySinh = document.getElementById("ngaySinh").value;
if (!ngaySinh) {
alert("Vui lòng chọn ngày sinh!");
return;
}
if (!isValidDateVN(ngaySinh)) {
alert("Ngày sinh không đúng định dạng dd/mm/yyyy!");
return;
}
const ngaySinhMySQL = formatDateToMySQL(ngaySinh);
input.value = ngaySinhMySQL;
alert("Ngày sinh lưu cơ sở dữ liệu: " + input.value);
});