Problème avec 'prompt' en JS

Résolu/Fermé
Swann68 - 10 févr. 2020 à 13:42
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 10 févr. 2020 à 14:11
Bonjour,
J'ai un problème (pas très urgent) à régler en JS. je voudrais faire un petit programme avec CodePen.io avec un texte. Quand on clique dessus, une boite de dialogue s'affiche en demandant ''Comment vas-tu ?''. Mais quand je cliques dessus, la commande s’exécute, mais à l'infini !
Mon code :
<h1 class="gradient">Bonjour !</h1><br>
  <p id="pdutitre" onclick="clicked()">Comment vas-tu ?<br>Moi, je vais très bien !</p>

function clicked() { document.getElementById('pdutitre').onclick(prompt('Comment va-tu ?'))
}

Merci d'avance !
Swann68

1 réponse

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié le 10 févr. 2020 à 14:11
Bonjour,

En effet dans ton code, quand on clique sur le bouton, on appelle la fonction clicked().
Sauf que dans cette fonction, au lieu de faire une action simple, on rajoute à l'événement onclick du titre un nouvel appel à clicked (puisque tu fais .onclick(...) ). Qui sera donc immédiatement appelé à nouveau, et rajoutera un nouvel appel... etc.

Ce que tu veux en appelant la fonction clicked, c'est simplement appeler le prompt(), pas faire un .onclick().

Donc ta fonction devient :
function clicked() { 
    prompt('Comment vas-tu ?');
}

Xavier
1