我有以下问题。我打开一个带有外部脚本的彩盒。
我在打开的脚本中编辑一个字段,然后按下一个将输入保存在数据库中的按钮。 这是通过AJAX完成的。在AJAX返回成功之后,我将一些内容写入主网页并想要关闭颜色框。但最后一件事不会发生。
这是我的剧本
$.ajax({
type: "POST",
url: "./editfield_AJAX.php",
data: {"q_table": q_table, "q_field": q_field, "q_idfield": q_idfield, "q_id": q_id, "waarde":$waarde},
dataType: "text",
success:function(data){
window.parent.$("#" + q_table+q_field).html(data);
//location.reload(true);
// Reload the parent and close Cbox
window.parent.$.colorbox.close();
}
});
仅当我禁用location.reload(true)命令时,颜色框才会关闭。但这不是我想要的,因为那时父母将被重新加载。
我在这里已经阅读了很多解决方案,但我无法弄清楚它为什么不起作用。
希望有人可以帮助我。
谢谢, 弗兰克
答案 0 :(得分:0)
您是否尝试将onClosed
事件处理程序添加到colorbox初始化代码并在其中移动location.reload(true);
调用:
$('selector').colorbox({
onClosed: function() {
location.reload(true);
}
});
通过这种方式,您可以在ajax成功时调用$.colorbox.close();
,并且只有在颜色框关闭后才能启动重新加载。