2017-01-04 5 views
0

Это мой код, прежде чем добавить sweetalert2 удалить сообщения:Ошибка при использовании JQuery sweetalert2

if (action == "delete") { 
      this.model.destroy({ 
       beforeSend: function() { 
        target.addClass('loading'); 
        view.blockUi.block(view.$el); 
       }, 
       success: function(result, status, jqXHR) { 
        view.blockUi.unblock(); 
        target.removeClass('loading'); 
        if (status.success) { 

         if (result.get('post_type') == "post") 
          window.location.href = status.redirect; 
         else 
          view.$el.fadeOut(); 
        } else { 
         // Error 
        } 
       } 
      }); 
      return false; 
     } 

это мое редактирование сделать совместимым sweetalert2 с действием:

if (action == "delete") { 

      swal({ 
       title: 'Are you sure?', 
       text: "You won't be able to revert this!", 
       type: 'warning', 
       showCancelButton: true, 
       confirmButtonColor: '#3085d6', 
       cancelButtonColor: '#d33', 
       confirmButtonText: 'Yes, delete it!' 
      }).then(function() { 
       swal(
        'Deleted!', 
        'Your post has been deleted.', 
        'success' 
       ), 
        this.model.destroy({ 
        beforeSend: function() { 
         target.addClass('loading'); 
         view.blockUi.block(view.$el); 

        }, 

         success: function(result, status, jqXHR) { 
          view.blockUi.unblock(); 
          target.removeClass('loading'); 
          if (status.success) { 

           if (result.get('post_type') == "post") 
            window.location.href = status.redirect; 
           else 
            view.$el.fadeOut(); 
          } else { 
           // Error 
          } 

        } 
       }) 
      }); 
      return false; 
     } 

Я не могу найти ошибка диалога sweetalert2 работает правильно, но действие удаления сообщения не работает, что я могу сделать?

+0

Можете ли вы сказать нам, что это ошибка, пожалуйста? если не будем, мы не сможем вам помочь. Спасибо –

+0

@AntoineBourlart Проблема, связанная с тем, что действие удаления, не работающее после попытки редактирования, добавляет флажок, но действие не происходит –

+0

Как этот код вызывается? – Rafael

ответ

0

Я не могу найти ошибку, когда диалог sweetalert2 работает правильно, но действие удаления сообщения не работает, что я могу сделать?

Когда вы изначально вызываете sweetalert, он запрашивает ответ от пользователя.

Метод then() возвращает обещание. Он принимает до двух аргументов: функции обратного вызова для случаев успеха и сбоев Promise.

Если пользователь подтверждает, то вы можете выполнить код. Вы уже реализовали способ поймать успех и ошибку, поэтому, когда произойдет одно из этих событий, вам просто нужно снова вызвать sweetalert, чтобы переместиться назад и отобразить правильное предупреждение для пользователя. Вы можете сделать то же самое, если это возможно, если пользователь решит отменить, чтобы дать им больше отзывов.

Я считаю, что это будет делать трюк:

if (action == "delete") { 

swal({ 
    title: 'Are you sure?', 
    text: "You won't be able to revert this!", 
    type: 'warning', 
    showCancelButton: true, 
    confirmButtonColor: '#3085d6', 
    cancelButtonColor: '#d33', 
    confirmButtonText: 'Yes, delete it!' 
}).then(function() { 

     this.model.destroy({ 
     beforeSend: function() { 
      target.addClass('loading'); 
      view.blockUi.block(view.$el); 

     }, 
      success: function(result, status, jqXHR) { 
       view.blockUi.unblock(); 
       target.removeClass('loading'); 
       if (status.success) { 
        // Success 
        swal(
         'Deleted!', 
         'Your file has been deleted.', 
         'success' 
        ) 
       } else { 
        // Error 
        swal(
         'Failed', 
         'Your file has not been deleted', 
         'error' 
        ) 
       } 

     } 
    }) 
}, function() { 
// Cancelled 
    swal(
     'Cancelled', 
     'Your file has not been deleted', 
     'error' 
    ) 
}); 

return false; 
} 
Смежные вопросы