document.addEventListener("DOMContentLoaded", () => { const form = document.getElementById("invoiceForm"); // Fonction pour afficher les messages function showMessage(message, type = "success") { const messageDiv = document.createElement("div"); messageDiv.className = `${type}-message`; messageDiv.textContent = message; document.body.appendChild(messageDiv); // Afficher le message setTimeout(() => messageDiv.classList.add("show"), 100); // Supprimer le message après 3 secondes setTimeout(() => { messageDiv.classList.remove("show"); setTimeout(() => messageDiv.remove(), 300); }, 3000); } // Fonction pour valider le formulaire function validateForm(formData) { const requiredFields = [ "invoice_number", "amount", "recipient_name", "recipient_address", "recipient_postal_code", "recipient_town", "recipient_country", ]; for (const field of requiredFields) { if (!formData.get(field)) { showMessage(`Le champ ${field} est requis`, "error"); return false; } } return true; } // Gestionnaire de soumission du formulaire form.addEventListener("submit", function (e) { e.preventDefault(); // Récupérer les données du formulaire const formData = { language: form.language.value, invoice_number: form.invoice_number.value, amount: form.amount.value, currency: form.currency.value, recipient_name: form.recipient_name.value, recipient_address: form.recipient_address.value, recipient_postal_code: form.recipient_postal_code.value, recipient_town: form.recipient_town.value, recipient_country: form.recipient_country.value, recipient_vat_number: form.recipient_vat_number.value || null, }; // Rediriger vers la page de prévisualisation avec les données const queryString = encodeURIComponent(JSON.stringify(formData)); window.location.href = `/preview?data=${queryString}`; }); });