Loading index.html +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ <h1>Instant Weather</h1> <input type="search" id="codePostalInput" placeholder="Entrez votre code postal"><button id="recherche">Rechercher</button> <br> <select id="villeListe"> <select id="villeListe" class="cache"> <option>--Sélectionner une ville--</option> </select> <div class="resultat cache" > Loading js/script.js +35 −9 Original line number Diff line number Diff line // Éléments du DOM const barreRechercheCodePostal = document.getElementById("codePostalInput"); const boutonRechercheCodePostal = document.getElementById("recherche"); const listeDeroulanteVilles = document.getElementById("villeListe"); boutonRechercheCodePostal.addEventListener("click", onRechercher); listeDeroulanteVilles.addEventListener("change", onSelectionneVille); let villes = []; boutonRechercheCodePostal.addEventListener("click", onRechercher); function onRechercher(){ let valeurS = barreRechercheCodePostal.value; let codePostalS = barreRechercheCodePostal.value; let valeurN = Number.parseInt(valeurS); console.log(valeurS.length); let codePostalN = Number.parseInt(codePostalS); if(isNaN(valeurN)){ onErreurDeSaisie("Le code postal contient des caractères non numériques."); if(isNaN(codePostalN)){ onErreurSaisieCodePostal("Le code postal contient des caractères non numériques."); return; } if(valeurS.length != 5){ onErreurDeSaisie("Le code postal doit contenir 5 caractères."); if(codePostalS.length != 5){ onErreurSaisieCodePostal("Le code postal doit contenir 5 caractères."); return; } setVilles(codePostalN).then(listeVille); } function onErreurDeSaisie(message){ function onErreurSaisieCodePostal(message){ alert(message); listeDeroulanteVilles.classList.add("cache"); } function listeVille(){ listeDeroulanteVilles.innerHTML = `<option value="placeholder">--Sélectionner une ville--</option>`; villes.forEach((ville) => { listeDeroulanteVilles.innerHTML += `\n<option value="${ville}">${ville}</option>`; }); listeDeroulanteVilles.classList.remove("cache"); } const setVilles = async codepostal => { Loading @@ -42,6 +58,16 @@ const setVilles = async codepostal => { }) } function onSelectionneVille(){ let ville = listeDeroulanteVilles.value; if(ville === "placeholder"){ return; } alert(ville); } const getVilles = () => { return villes; } No newline at end of file Loading
index.html +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ <h1>Instant Weather</h1> <input type="search" id="codePostalInput" placeholder="Entrez votre code postal"><button id="recherche">Rechercher</button> <br> <select id="villeListe"> <select id="villeListe" class="cache"> <option>--Sélectionner une ville--</option> </select> <div class="resultat cache" > Loading
js/script.js +35 −9 Original line number Diff line number Diff line // Éléments du DOM const barreRechercheCodePostal = document.getElementById("codePostalInput"); const boutonRechercheCodePostal = document.getElementById("recherche"); const listeDeroulanteVilles = document.getElementById("villeListe"); boutonRechercheCodePostal.addEventListener("click", onRechercher); listeDeroulanteVilles.addEventListener("change", onSelectionneVille); let villes = []; boutonRechercheCodePostal.addEventListener("click", onRechercher); function onRechercher(){ let valeurS = barreRechercheCodePostal.value; let codePostalS = barreRechercheCodePostal.value; let valeurN = Number.parseInt(valeurS); console.log(valeurS.length); let codePostalN = Number.parseInt(codePostalS); if(isNaN(valeurN)){ onErreurDeSaisie("Le code postal contient des caractères non numériques."); if(isNaN(codePostalN)){ onErreurSaisieCodePostal("Le code postal contient des caractères non numériques."); return; } if(valeurS.length != 5){ onErreurDeSaisie("Le code postal doit contenir 5 caractères."); if(codePostalS.length != 5){ onErreurSaisieCodePostal("Le code postal doit contenir 5 caractères."); return; } setVilles(codePostalN).then(listeVille); } function onErreurDeSaisie(message){ function onErreurSaisieCodePostal(message){ alert(message); listeDeroulanteVilles.classList.add("cache"); } function listeVille(){ listeDeroulanteVilles.innerHTML = `<option value="placeholder">--Sélectionner une ville--</option>`; villes.forEach((ville) => { listeDeroulanteVilles.innerHTML += `\n<option value="${ville}">${ville}</option>`; }); listeDeroulanteVilles.classList.remove("cache"); } const setVilles = async codepostal => { Loading @@ -42,6 +58,16 @@ const setVilles = async codepostal => { }) } function onSelectionneVille(){ let ville = listeDeroulanteVilles.value; if(ville === "placeholder"){ return; } alert(ville); } const getVilles = () => { return villes; } No newline at end of file