我使用此调用使用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调用。
我做错了吗?有没有办法让这个工作没有我自己的功能来调整窗口大小?
艾伦
答案 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");
}