2015-12-29 137 views
0

我想提出一個jQuery Ajax請求如下無法阿賈克斯成功呼叫

編輯

上編輯的點擊BTN

$('.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」)and add style =「perspective:1300px」。這爲我工作。但我想知道爲什麼.modal('hide')不能按預期工作。 – user269867

回答

0

如果你想自動關閉的成功回調模式窗口,然後就去做

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

這對我不起作用。 – user269867

0

在你的Ajax調用,使用這樣的....

$.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

。隱藏()隱藏模式窗口留下背景顏色,當我再次點擊模態窗口不打開。 – user269867