64 lines
1.7 KiB
JavaScript
64 lines
1.7 KiB
JavaScript
const form = document.getElementById('addSlideForm');
|
|
const imgField = document.getElementById('slideImage');
|
|
const altField = document.getElementById('slideAlt');
|
|
const titleField = document.getElementById('slideTitle');
|
|
|
|
const errorEmpty = document.getElementById('errorEmpty');
|
|
const errorFormat = document.getElementById('errorFormat');
|
|
const successMsg = document.getElementById('successMsg');
|
|
|
|
// Création du tableau simulant la BDD
|
|
let slides = [];
|
|
|
|
form.addEventListener('submit', function (e) {
|
|
e.preventDefault();
|
|
|
|
// Reset messages
|
|
errorEmpty.classList.add('d-none');
|
|
errorFormat.classList.add('d-none');
|
|
successMsg.classList.add('d-none');
|
|
|
|
const image = imgField.files[0];
|
|
const alt = altField.value.trim();
|
|
|
|
// Image obligatoire
|
|
if (!image) {
|
|
errorEmpty.textContent = "Merci de sélectionner une image.";
|
|
errorEmpty.classList.remove('d-none');
|
|
return;
|
|
}
|
|
|
|
// ALT obligatoire
|
|
if (alt === "") {
|
|
errorEmpty.textContent = "Le texte ALT est obligatoire.";
|
|
errorEmpty.classList.remove('d-none');
|
|
return;
|
|
}
|
|
|
|
// Vérification format
|
|
const validFormats = ["image/jpeg", "image/png", "image/webp"];
|
|
if (!validFormats.includes(image.type)) {
|
|
errorFormat.classList.remove('d-none');
|
|
return;
|
|
}
|
|
|
|
// Enregistrement simulé
|
|
slides.push({
|
|
id: Date.now(),
|
|
image: image.name,
|
|
alt: alt,
|
|
title: titleField.value.trim(),
|
|
order: slides.length + 1
|
|
});
|
|
|
|
console.log("Nouveau slide ajouté :", slides);
|
|
|
|
// Succès
|
|
successMsg.classList.remove('d-none');
|
|
|
|
// Redirection
|
|
setTimeout(() => {
|
|
window.location.href = "../../../slider/liste_slider/liste_slider.html";
|
|
}, 1500);
|
|
});
|