Files
ENI-sortir/assets/js/show-lieu.js
2024-11-25 11:56:43 +01:00

60 lines
2.6 KiB
JavaScript

document.addEventListener("DOMContentLoaded", () => {
console.log("DOMContentLoaded");
const lieuSelect = document.getElementById("sortie_lieu");
const rueValue = document.getElementById("rue-value");
const codePostalValue = document.getElementById("codePostal-value");
const latitudeValue = document.getElementById("latitude-value");
const longitudeValue = document.getElementById("longitude-value");
const villeValue = document.getElementById("ville-value");
// Vérifier que le champ "lieu" existe
if (!lieuSelect) {
console.error("Le champ 'lieu-select' est introuvable.");
return;
}
console.log("Script chargé. En attente de la sélection d'un lieu.");
// Écouter les changements sur le champ "lieu"
lieuSelect.addEventListener("change", async () => {
const lieuId = lieuSelect.value;
console.log(`Lieu sélectionné : ${lieuId}`);
// Si aucun lieu sélectionné, réinitialiser les champs
if (!lieuId) {
console.warn("Aucun lieu sélectionné. Réinitialisation des champs.");
rueValue.textContent = "Renseigner avec le lieu";
codePostalValue.textContent = "Renseigner avec le lieu";
latitudeValue.textContent = "Renseigner avec le lieu";
longitudeValue.textContent = "Renseigner avec le lieu";
villeValue.textContent = "Renseigner avec le lieu";
return;
}
try {
// Requête vers l'API pour récupérer les données du lieu
console.log(`Envoi de la requête à l'API pour le lieu ID : ${lieuId}`);
const response = await fetch(`/lieux/${lieuId}`);
if (!response.ok) {
throw new Error(`Erreur lors de la récupération des informations (statut ${response.status})`);
}
const data = await response.json();
console.log("Données reçues depuis l'API :", data);
// Mise à jour des champs avec les données récupérées
rueValue.textContent = data.rue || "Non renseigné";
codePostalValue.textContent = data.codePostal || "Non renseigné";
latitudeValue.textContent = data.latitude || "Non renseigné";
longitudeValue.textContent = data.longitude || "Non renseigné";
villeValue.textContent = data.ville || "Non renseigné";
console.log("Champs mis à jour avec succès.");
} catch (error) {
console.error("Erreur lors de la récupération des données :", error);
alert("Une erreur s'est produite lors de la récupération des informations du lieu.");
}
});
});