simplemodal jQuery的问题

时间:2009-12-20 15:50:38

标签: jquery simplemodal

我使用此调用使用simplemodal(http://www.ericmmartin.com/projects/simplemodal/)创建模态窗口:

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

html输出相当简单。其中数据是空div -

<div id="errors"></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;
});

在那里使用live,因为按钮也来自之前的ajax调用。

我做错了吗?有没有办法让这个工作没有我自己的功能来调整窗口大小?

艾伦

2 个答案:

答案 0 :(得分:1)

首先(这不是您烦恼的根源):'True''true'是字符串,'False''false'也是如此。所有这些字符串在布尔上下文中都是“完整的”。

第二:快速查看simplemodal 1.3.3的来源,发现autoResize仅在调整浏览器窗口大小时启动,这根本不是你的情况。

答案 1 :(得分:1)

在ajax调用中尝试以下错误函数:


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