2009-12-20 36 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只有在浏览器窗口被调整大小时才会启动,这根本不是你的情况。