2009-12-20 63 views
1

我使用這個調用使用simplemodal(http://www.ericmmartin.com/projects/simplemodal/)創建模式窗口:問題與simplemodal jQuery的

$.get("openform/", function(data){ 
    $.modal(data, { 
     closeHTML:'<a class="modalCloseImg simplemodal-close" title="Close"/>', 
     minHeight:400, 
     autoResize:'True', 
     }); 
    }); 

的HTML輸出是相當簡單的。在這些數據是空的div -

的問題是,在同一個表單按鈕做ajax調用與errormessages充滿#errors和simplemodal包裝不會自動調整。即使打電話

$.modal.resize(); 

什麼都不做。

編輯: 填充#errors的調用是這樣的:

$("#addk").live("click", function(event){ 
    $.ajax({ 
     type: "POST", 
     url: "savenow/", 
     data: $("#form").serialize(), 
     success: function(msg){ 
      $("#errors").html(msg); 
      $.modal.resize(); 
     }, 
     error : function(){ 
      $("#errors").html(<p>Fail!</p>); 
     } 
    }); 
    return false; 
}); 

使用住在那裏,因爲按鈕也來源於以前的AJAX調用。

我做錯了什麼?有沒有一種方法可以在沒有我自己的功能的情況下使窗口調整大小?

艾倫

+0

嘗試使用真爲小寫。該插件可能無法正確解析布爾值。 – 2009-12-20 16:02:28

+0

謝謝,但它沒有改變任何東西。 – 2009-12-20 16:04:29

+0

刪除minHeight選項也不會改變任何內容。爲沒有最小高度的窗口設置的大小甚至小於我設置的400px。 – 2009-12-20 16:05:33

回答

1

嘗試在Ajax調用以下誤差函數:


error : function(){ 
       $("#errors").html("<p>Fail!</p>"); 
       $(".simplemodal-container").css("height", "auto"); 
     } 
+0

對容器沒有調整內容更改的類似問題。接得好。 – 2011-07-11 22:09:46

1

第一(這是不是你的問題的根源):'True''true'是字符串,因爲是'False''false'。所有這些字符串在布爾上下文中都是「非常」的。

秒:在simplemodal 1.3.3的源代碼中快速瀏覽一下,發現autoResize只有在瀏覽器窗口被調整大小時纔會啓動,這根本不是你的情況。