Comment puis-je arrêter une redirection ActionLink et au lieu popups et réoriente en utilisant javascript?

StackOverflow https://stackoverflow.com/questions/3619214

Question

Ceci est le script que j'ai actuellement -

<script type="text/javascript">
        $(document).ready(function () {
            $('.RemoveSystem').click(function () {
                var href = $(this).attr('href');
                var answer = confirm("Are you sure you want to delete this system?");
                alert(answer);
                if (answer) 
                    window.location = href;
            });
        });
    </script> 

Voici le lien qui est là pour chaque enregistrement et nous pouvons supprimer chaque système lorsque l'on clique sur le bouton de suppression -

 <%= Html.ActionLink("Delete", "RemoveSystem", new { SysNum = item.Id}, new { @class = "RemoveSystem" })%>

Maintenant, voici le problème des réacheminements ActionLink peu importe ce qui se passe et je dois l'arrêter. Je veux dire dire l'utilisateur appuie sur la confirmation annuler la ActionLink exécute et va toujours à l'action RemoveSystem, où je veux rester juste sur la page.I pensé à l'aide d'un lien hypertexte HTML mais je ne sais pas comment je passerais id la valeur le javascript dans ce cas. Quelqu'un peut-il me plaît aider?

Était-ce utile?

La solution

Vous devez éviter la default action du lien comme ceci:

$('.RemoveSystem').click(function () {
  if (confirm("Are you sure you want to delete this system?")) 
    window.location = $(this).attr('href');
  return false;
});

Ou ceci:

$('.RemoveSystem').click(function (e) {
  if (confirm("Are you sure you want to delete this system?")) 
    window.location = $(this).attr('href');
  e.preventDefault();
});

À l'heure actuelle, le lien fait cette fonction, mais aussi faire ce qu'il fait sans JavaScript du tout, ce qui est d'aller à l'href il a ... qui est le comportement que vous devez éviter de qui se passe.

Autres conseils

false Retour si vous voulez éviter l'action par défaut:

$('.RemoveSystem').click(function () {
    var href = $(this).attr('href');
    var answer = confirm("Are you sure you want to delete this system?");
    if (answer) 
        window.location = href;
    return false;
});

ou utilisez preventDefault :

$('.RemoveSystem').click(function (evt) {
    var href = $(this).attr('href');
    var answer = confirm("Are you sure you want to delete this system?");
    if (answer) 
        window.location = href;
    evt.preventDefault();
});

Dans votre fonction add script:

if (answer)  
    window.location = href;
else
   return false;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top