2014-05-20 4 views
0

J'ai un bouton Supprimer comme ceci:Javascript confirmer return false si annuler

<a class="btn btn-default" href="Communities.php?action=delete&id=' . $value['rb_communityId'] . '" onclick="javascript:confirm(\'Are you sure you want to delete this item?\');">Delete</a> 

si l'utilisateur clique annuler ma confirmation en arrière, je ne veux rien faire, est-il immédiatement si l'utilisateur clique l'annuler retournera faux.

+0

C'est le comportement par défaut de confirmation. – Teepeemm

Répondre

5
<a 
    class="btn btn-default" 
    href="Communities.php?action=delete&id=' . $value['rb_communityId'] . '" 
    onclick="if(!confirm(\'Are you sure you want to delete this item?\')) return false;" 
> 
    Delete 
</a> 

ligne clé qui a changé est le onclick, où la confirmation a été enveloppé dans un if(!...) pour attraper les occasions où d'annulation est cliqué, et retourne false si cela se produit.

12

javascript: est pas nécessaire dans un gestionnaire onclick, parce que vous êtes déjà dans un contexte JavaScript.

return, cependant, est requis pour transmettre la valeur de retour de confirm au gestionnaire. Lorsque vous cliquez sur Annuler, false est renvoyé, puis transmis au gestionnaire, ce qui annule l'action par défaut (en suivant le lien).

Enfin, n'utilisez JAMAIS <a href="..."> pour une action delete. GET-méthode demandes jamais changer les choses sur le serveur, en particulier pas supprimer des choses. Utilisez un formulaire et une méthode POST.

+1

Un '+ 1 'fort pour les méthodes GET qui ne changent jamais les choses sur le serveur. –

Questions connexes