OLD Test formulaire cuvée

    🍷 Créer une Nouvelle Cuvée

    // Configuration const CONFIG = { SCRIPT_URL: ‘https://script.google.com/macros/s/AKfycbw5VstDev4UQdchP79ZHuWsWsoFqrwqefAOUxzMk4wPjYAzqSd1CMOss-BuPQ5c_fNx1g/exec’ }; // Initialisation document.addEventListener(‘DOMContentLoaded’, function() { initializeForm(); }); function initializeForm() { const form = document.getElementById(‘creation-cuvee-form’); if (!form) return; form.addEventListener(‘submit’, function(e) { e.preventDefault(); handleFormSubmission(form); }); } function handleFormSubmission(form) { // Récupération des données exactement comme avant const formData = new FormData(form); const data = {}; for (let [key, value] of formData.entries()) { data[key] = value; } // Construction du payload identique à l’original const payload = { type_formulaire: ‘creation’, id_cuvee: ‘cuvee_’ + Date.now(), timestamp: new Date().toISOString(), …data }; console.log(‘📤 Données à envoyer:’, payload); submitDataLight(payload); } function submitDataLight(payload) { // Créer un formulaire temporaire const tempForm = document.createElement(‘form’); tempForm.method = ‘POST’; tempForm.action = CONFIG.SCRIPT_URL; tempForm.target = ‘_blank’; // Évite les problèmes de navigation tempForm.style.display = ‘none’; // Ajouter tous les champs du payload Object.keys(payload).forEach(key => { const input = document.createElement(‘input’); input.type = ‘hidden’; input.name = key; input.value = payload[key]; tempForm.appendChild(input); }); // Ajouter au DOM et soumettre document.body.appendChild(tempForm); tempForm.submit(); // Nettoyer après soumission setTimeout(() => { document.body.removeChild(tempForm); }, 1000); // Feedback utilisateur showMessage(‘✅ Données enregistrées avec succès !’, ‘success’); // Reset du formulaire principal setTimeout(() => { document.getElementById(‘creation-cuvee-form’).reset(); }, 1000); } function showMessage(message, type = ‘success’) { // Code message identique à avant const oldMessage = document.querySelector(‘.form-message’); if (oldMessage) oldMessage.remove(); const messageDiv = document.createElement(‘div’); messageDiv.className = `form-message alert alert-${type} mt-3`; messageDiv.textContent = message; messageDiv.style.cssText = ‘padding: 12px; border-radius: 4px; margin-top: 15px;’; const form = document.getElementById(‘creation-cuvee-form’); form.parentNode.insertBefore(messageDiv, form.nextSibling); setTimeout(() => messageDiv.remove(), 5000); }