2015-12-29 2 views
0

Я делаю запрос Ajax с JQuery как следоватьне в состоянии закрыть модальное окно после того, как Ajax вызова успеха

Редактировать

На щелчке редактирования БТНО

$('.mymodalbtn').click(function($this){ 
      var id = $this.data('id'); 
      $('[name="id"]').val(id); 
     }); 
    }); 

окна модального открыться с редактируемыми полями, Отправить формуляр ниже.

$('#mymodalForm').on('submit',function(e){ 
      e.preventDefault(); 
      var successFlag=false; 

      $.ajax({ 
       url: "/student/"+selectedId , 
       data : {'id':selectedId}, 
       type: 'PUT', 
       datatype: "json", 
       success: function(data){ 
        $.gritter.add({ 
         title: "Student", 
         text: data, 
         time: '1000' 
        }), 
       } 
      }); 
     }); 

<!-- Nifty Modal HTML --> 
    <div class="md-modal colored-header md-effect-9" id="mymodalWin"> 
     <div class="md-content"> 
      <div class="modal-header"> 
       <h3>Student</h3> 
      </div> 
      <form id="mymodalForm" method="post" action=""> 
      <div class="modal-body form"> 
       <input type="text" value="2" name="id"/> 
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default btn-flat md-close" data-dismiss="modal">Cancel</button> 
       <button type="submit" class="btn btn-primary btn-flat" id="edit-selected-transaction" data-dismiss="modal">Submit</button> 
      </div> 
      </form> 
     </div> 
    </div> 
    <div class="md-overlay"></div> 

Я пытаюсь автоматическое закрытие модального окно, если оно выполнено, еще показать ошибку и остаться в модальном окне.

Я пробовал с .complete, но вам не повезло, что-то не так!

Я пробовал .hide(), но тогда при нажатии кнопки редактирования кнопка модального окна не появляется. Может ли кто-нибудь сказать мне, как я могу автоматически закрыть окно модального окна.

+0

Вы получаете там , важно не подчеркивать. Сделайте приятный глубокий вдох и поймите, что вы сегодня сегодня, чем были вчера! Ваш JS нуждается в очистке немного в ваших функциях, как и то, что я разместил ниже, поэтому я собираюсь исправить это сейчас и запустить ваш код в JSFiddle для завершения вашего исправления. –

+0

Quick Fix: is ('#mymodal'). RemoveClass ("md-show") и добавить style = "перспектива: 1300px". Эта работа для меня. но мне интересно, почему .modal ('hide') работает не так, как ожидалось. – user269867

ответ

0

Если вы хотите, чтобы закрываться автоматически окно модального в обратном вызове, то просто сделать

$.ajax({ 
success:function(data){ 
    $('#mymodal').modal('hide'); 
    // Rest of your code. 
    } 
}); 
+0

Это не работает для меня .. – user269867

0

В вашем АЯКСЕ вызова, использовать его как это ....

$.ajax({ 
success:function(data){ 
    $.gritter.add({ 
     title: "Student", 
     text: responseHTML, 
     time: '1000' 
    }, 
complete: function(){ 
      $('#mymodal').hide(); 
      //Here, you are executing your event loop, or in this example the api "hide" for the "#mymodal" id element. 
    } 
}); // I forgot a bracket here, my apologies. 
+0

Также возможно, если вы не передадите «gritter» в свою функцию для своего вызова ajax, что в вызове ajax на него нельзя ссылаться. Но мне нужно будет больше узнать о вашем коде, чтобы предложить дополнительные рекомендации по этому поводу. Кроме того, старая пословица «Если она не сломалась .....» –

+0

Я отредактировал мой вопрос, пожалуйста, дайте мне знать, если потребуется более подробная информация. – user269867

+0

.hide() скрыть модальное окно оставляет цвет фона, и когда я нажимаю снова, модальное окно не открывается. – user269867

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

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