2013-03-21 108 views
0

我對jQuery和Javascript相當新。我的問題是與jQuery UI對話框。我有桌子在哪裏點擊一行,並在對話框中填充更多細節。對話框裏會有一個表格和一個表格。當用戶輸入詳細信息並在表單上單擊時,我會檢查用戶輸入並再次將該表單顯示回對話框中,但是當發生這種情況時,對話框關閉按鈕不起作用。對話框關閉不起作用的對話框中的Ajax調用

有人可以建議如何處理這個請嗎?感謝您的幫助。

$.ajax({ 
    type:"POST", 
    dataType:"html", 
    url:"form/add/"+estimateId, 
    cache:false, 
    //data:a, 
    success:function(html){ 
     //alert(html); 
     $(".projectMaintenance").html(html); 
     $(".projectMaintenance").dialog({ 
      resizable:false, 
      height:750, 
      width:900, 
      modal:true, 
      buttons:{ 
       "Close":function(){ 
        $(this).dialog('destroy'); 
    .... 

這是我用來在對話框中提交表單的腳本。

var a=$('form').serialize(); 

$.ajax({ 
    type:"POST", 
    dataType:"html", 
    url:"form/save", 
    cache:false, 
    data:a, 
    success:function(html){ 
     alert(html); 
     $(".projectMaintenance").html(html); 
....... 

回答

1

你只是在執行用戶Ajax請求中選擇關閉選項,保持一點更具可讀性和友好,創建一個trySend()函數

$.ajax({ 
     type:"POST", 
     dataType:"html", 
     url:"form/add/"+estimateId, 
     cache:false, 
     //data:a, 
     success:function(html){ 
      //handle if everything it's ok and should show the dialog.... 
      $(".projectMaintenance").html(html); 
      $(".projectMaintenance").dialog({ 
       resizable:false, 
       height:750, 
       width:900, 
       modal:true, 
       buttons:{ 

        "Close":function(){ 


         $(this).dialog('destroy'); 


         buttons: { 
          "Close": function() { 
           $(this).dialog('close'); 
           trySend(); 
          } 
         } 

........ .....

而且trySend功能

 function trySend(){ 
      var a=$('form').serialize(); 
      $.ajax({ 
       type:"POST", 
       dataType:"html", 
       url:"form/save", 
       cache:false, 
       data:a, 
       success:function(html){ 
        alert(html); 

        $(".projectMaintenance").html(html); 
       }); 
     } 
+0

謝謝你,對不起延遲。我遵循你的建議,現在工作正常。 – VBJ 2013-03-22 16:10:10