2016-11-16 8 views
2

Я использую SweetAlert2 и 7-й пример на этой странице:Сладкого предупреждение перенаправляет до пользователь нажимает кнопку ОК

Go to 7th example below to see it in action

это один:

swal({ 
     title: 'Are you sure?', 
     text: 'You will not be able to recover this imaginary file!', 
     type: 'warning', 
     showCancelButton: true, 
     confirmButtonColor: '#3085d6', 
     cancelButtonColor: '#d33', 
     confirmButtonText: 'Yes, delete it!', 
     closeOnConfirm: false 
    }, 
    function() { 
     swal(
      'Deleted!', 
      'Your file has been deleted.', 
      'success' 
     ); 
    }); 

так:

function deleteEvent(id) 
{ 
    swal({ 
     title: 'Are you sure?', 
     text: 'You will not be able to recover this event!', 
     type: 'warning', 
     showCancelButton: true, 
     confirmButtonColor: '#3085d6', 
     cancelButtonColor: '#d33', 
     confirmButtonText: 'Yes, delete it!', 
     closeOnConfirm: false 
    }).then(function() { 
     swal(
      'Deleted!', 
      'Your event has been deleted.', 
      'success' 
     ); 
      $.ajax({ 
       url: '/events/'+id, 
       type: "DELETE", 
       data:{ _token: "{{csrf_token()}}" }, 
       success: function() { 
        location.href = '/events'; 
       } 
      }); 
    }); 
} 

Но когда пользователь нажимает кнопку подтверждения, чтобы удалить .... это всплывающее окно enter image description here

идет сразу за мой редирект и пользователь даже не получить шанс, чтобы нажать на кнопку OK ...

Как я могу сделать редирект после того как пользователь нажмет кнопку OK на этом изображении ?

+0

жаль, что я не в состоянии воспроизвести выше проблемы в 7-м примере. отлично работает для меня –

+0

да, пример хорош, но в моем коде это проблема 'success: function() { location.href = '/ events'; } 'он сразу же, когда пользователь нажимает кнопку« Да », удаляет его при первом всплытии .... и этот образ, который я опубликовал с зеленой галочкой, исчез почти сразу. пользователь не получает возможность щелкнуть его вообще ... потому что он перенаправляет заголовок страницы. Я хочу перенаправить после того, как пользователь нажмет кнопку OK – lewis4u

+0

. Остановите вызов ajax из функции, добавьте прослушиватель событий (используя .on, который работает для динамических элементов) на кнопке OK и попробуйте перенаправить. Надеюсь, это поможет –

ответ

4

я, наконец, решил это сам:

function deleteEvent(id) 
{ 
    swal({ 
     title: 'Are you sure?', 
     text: 'You will not be able to recover this event!', 
     type: 'warning', 
     showCancelButton: true, 
     confirmButtonColor: '#3085d6', 
     cancelButtonColor: '#d33', 
     confirmButtonText: 'Yes, delete it!', 
     closeOnConfirm: false 
    }).then(function() { 

     $.ajax({ 
      url: '/events/'+id, 
      type: "DELETE", 
      data:{ _token: "{{csrf_token()}}" } 
     }).done(function() { 

      swal({ 
       title: "Deleted", 
       text: "Event has been successfully deleted", 
       type: "success" 
      }).then(function() { 
       location.href = '/events'; 
      }); 
     }); 
    }); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^