web-dev-qa-db-fra.com

JavaScript confirmer annuler le bouton ne pas arrêter JavaScript

J'ai un bouton de suppression lié à certains commentaires sur une page que j'ai. Lorsque vous cliquez sur le bouton Supprimer, j'essaie de faire apparaître une boîte de dialogue de confirmation vous demandant si vous êtes sûr de vouloir supprimer le commentaire. Cliquer sur OK devrait exécuter la fonction pour supprimer le commentaire et cliquer sur annuler ne devrait pas exécuter la fonction mais simplement fermer la boîte de dialogue.

Ceci est mon code:

onclick="confirm('Are you sure that you want to delete this comment?'); commentDelete(1);"

Mon problème: lorsque je clique sur Annuler, la fonction de suppression est toujours exécutée. Mon hypothèse est que la fonction est toujours appelée car lorsque je clique sur Annuler, elle avance dans le JavaScript et appelle la fonction. Comment puis-je accomplir ceci correctement? Je sais que c'est probablement un problème simple. Merci pour toute aide!

12
RyanPitts
onclick="if (confirm('Are you...?')) commentDelete(1); return false"

Il vous manque une if. Dans votre version, vous obtenez d'abord une question, puis quelle que soit la réponse, vous appelez commentDelete.

17
Amadan

Vous traitez le confirm s'il s'agit d'une instruction if, elle renvoie simplement un booléen true ou false.

if(confirm('foo')){ alert('bar'); }
3
epascarello

dans la balise head, vous pouvez écrire le code suivant

function getConfirmation()
{
    var retVal = confirm("Do you want to continue ?");
    if (retVal == true)
    {
        alert("User wants to continue!");
        return true;
    } 
    else
    {
        alert("User does not want to continue!");
        return false;
    }
}

**

Après avoir écrit ce code, vous pouvez appeler cette fonction dans le code suivant.

 <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"

CommandName = "Edit" Text = "Edit" OnClientClick = "getConfirmation ()" >

3
djyJK
function confirmCancel(){
   var msj='Are you sure that you want to delete this comment?';
   if (!confirm(msj)) { 
      return false;
   } else {
      window.location='backcables.php';
   }
}
1
FRECIA

Vous devez renvoyer false pour éviter l'événement par défaut. Cela devrait fonctionner:

onclick="confirm('Are you sure that you want to delete this comment?'); commentDelete(1);return false;"
0
Felipe

Puisse cela aider quelqu'un.

var result = confirm("Are you sure");
return !!result;
0
vikas0713