2015-09-10 2 views
0

У меня проблема с диалогом подтверждения Sweet Aler. Когда я нажимаю значок удаления, диалог Sweet Alert показывает менее секунды, а затем исчезает и удаляет элемент. Другими словами, у меня нет возможности щелкнуть «Удалить» или «Отменить». Как остановить этот диалог, чтобы я мог выбрать вариант?Диалоговое окно подтверждения Sweet Alert исчезает перед ответом?

<a href="insert.php?delete=20"><i class="fa fa-trash-o fa-2x pull-right trashbin"></i></a> 
--- 
<script type="text/javascript"> 
    document.querySelector('i.trashbin').onclick = function(event){ 

     swal({ 
      title: "Are you sure?", 
      text: "You will not be able to recover this imaginary file!", 
      type: "warning", 
      showCancelButton: true, 
      confirmButtonColor: '#DD6B55', 
      confirmButtonText: 'Yes, delete it!', 
      cancelButtonText: "No, cancel plx!", 
      closeOnConfirm: false, 
      closeOnCancel: false 

     }, 

     function(isConfirm){ 
     if (isConfirm){ 
      swal("Deleted!", "Your imaginary file has been deleted.", "success"); 
     } else { 
      swal("Cancelled", "Your imaginary file is safe :)", "error"); 
     } 
     }); 
    }; 
</script> 

ответ

1

Попробуйте добавить event.preventDefault(); после:

document.querySelector('i.trashbin').onclick = function(event) { 
+0

Теперь прекращает свое действие с event.preventDefault(); но после подтверждения он не удаляет элемент ...: / –

1

Вы должны заменить значение 'Src' от 'а' тег с '#' и передать 'удалить = 20' функции. Затем в этой функции, если пользователь нажимает «да», перенаправляйтесь на страницу, указанную параметром, который вы передали ему. Это решило мою проблему. Надеюсь, вам тоже помогут.

** Отредактировано **

<a href="#"><i class="fa fa-trash-o fa-2x pull-right trashbin"></i></a> 
    --- 
    <script type="text/javascript"> 
document.querySelector('i.trashbin').onclick = function() { 
    swal({ 
     title: "Are you sure?", 
     text: "You will not be able to recover this imaginary file!", 
     type: "warning", 
     showCancelButton: true, 
     confirmButtonColor: '#DD6B55', 
     confirmButtonText: 'Yes, delete it!', 
     cancelButtonText: "No, cancel plx!", 
     closeOnConfirm: false, 
     closeOnCancel: false 
    }).then(function() { 
     swal({timer: 1000, title: "Deleted!", type: "success"}); 
     setTimeout(function goAndDel() { 
      window.location.assign("insert.php?delete=20"); 
     }, 1000); 
    }); 
} 
    </script>