2014-12-26 2 views
2

Использование jquery_ujs для обработки форм ajax в моем приложении rails. Я изменил форму, которую нужно отправить с помощью remote: true, путем вызова ajax: beforeSend на нем. Я хотел бы сделать его продолжить выполнение, если это подтверждено выполнение действия, как я использую sweetalertПродолжить выполнение запроса ajax после изменения с помощью ajax: beforeSend

$('.content>.fr span:last-of-type>a').on "ajax:beforeSend", (xhr, settings) -> 
     swal 
      title: "Are you sure?" 
      text: "You will not be able to undo this!" 
      type: "warning" 
      showCancelButton: true 
      confirmButtonColor: "#DD6B55" 
      confirmButtonText: "Yes, delete it!" 
      closeOnConfirm: false 
     , -> 
      # should send the request here 
      swal "Deleted!", "Department has been deleted.", "success" 
      return 

Чтобы просмотреть полную версию этого, он находится на this gist.

ответ

0

Вы должны нравятся

$("body").on("click", "#element", function(e) {   
      swal({ 
       title: "Are you sure?", 
       text: "Are you sure?", 
       type: "warning", 
       showCancelButton: true, 
       confirmButtonColor: "#DD6B55", 
       confirmButtonText: "Yes, delete it!", 
       closeOnConfirm: false }, 
       function(){ 
        // ajax goes here 
       }  
      ); 
     }); 

SweetAlert отличается от Javascript подтверждения, выполнение скрипта не останавливается во время ожидания ввода данных пользователя, так что если функция в beforeSend не возвращает ложно, Аякс продолжает доходы по запросу.

+0

На моем втором рельсе проект сейчас, и я даже не пробовал ajax, так как я развивался в рельсах. Я использую только UJS 'remote: true' –

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