Action quand clic sur Annuler pop-up 'prompt'

Résolu/Fermé
nicodak Messages postés 49 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 2 juin 2021 - 25 janv. 2021 à 16:36
nicodak Messages postés 49 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 2 juin 2021 - 25 janv. 2021 à 18:41
Bonjour,

Voici une fonction pour calculer la surface d'un cercle en renseignant le rayon, elle fonctionne parfaitement.

function surfaceCercle(){
    var rayon=parseFloat(prompt("Entrez le rayon du cercle : "));
    return Math.PI*rayon*rayon;
}


Voici maintenant le code HTML associé
<p>
    Cliquez sur le bouton pour lancer la fonction :
    <button onclick="alert('Surface du cercle  : '+surfaceCercle())">
        Lancer la fonction
    </button>
</p>


Donc je clique sur le bouton Lancer la fonction et une pop-up s'ouvre, je renseigne un rayon et une nouvelle pop-up remplace la première avec le résultat 'Surface du cercle : xxx'. Parfait.

Maintenant si je clique sur Annuler dans la première fenêtre une nouvelle pop-up s'ouvre avec le message 'Surface du cercle : NaN'. Comment faire pour que le clic sur Annuler arrête simplement la fonction et ferme la première pop-up sans en ouvrir une autre ?

Je ne trouve pas de solution.
Merci beaucoup.
Configuration: Windows / Firefox 85.0
A voir également:

1 réponse

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
25 janv. 2021 à 17:13
Bonjour,

 <button onclick="getSurface();">
        Lancer la fonction
    </button>


function surfaceCercle(){
    var rayon=parseFloat(prompt("Entrez le rayon du cercle : "));
    return Math.PI*rayon*rayon;
}

function getSurface(){
 var surface = surfaceCercle();
  if( !isNaN(surface )){
    alert('Surface du cercle  : '+ surface);7
  }
}


0
nicodak Messages postés 49 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 2 juin 2021 1
25 janv. 2021 à 18:24
OK merci pour cette réponse.

Donc il faut une deuxième fonction pour définir une action lors d'un clic sur Annuler dans une pop-up prompt.
Etonnant que JS n'ait pas prévu quelque chose de plus simple, plus automatique.
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718 > nicodak Messages postés 49 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 2 juin 2021
25 janv. 2021 à 18:36
ben tu pourrais le faire en une seule fonction
function getSurface(){
    var rayon=parseFloat(prompt("Entrez le rayon du cercle : "));
    var surface = Math.PI*rayon*rayon;
    if( !isNaN(surface )){
      alert('Surface du cercle  : '+ surface);7
    }
}

0
nicodak Messages postés 49 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 2 juin 2021 1 > jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024
25 janv. 2021 à 18:41
Okayyy ! merci beaucoup.
0