我试图在我的Django应用中添加一个简单的弹出窗口。它是如何工作的当我按下Yes按钮时,它会向我的Django视图发送请求。但是,我希望它在按“是”后自动关闭。不幸的是,把它直接放在我的"点击"函数是它完全关闭窗口而不向我的Django视图发送请求。
这就是为什么我想添加变量"点击"。单击按钮后,我希望它将变量值更改为" true"这样我最终可以运行一个if语句来关闭窗口。出于某种原因,当我尝试打开它时,弹出窗口会自动关闭。我猜是if语句不能正常工作?谢谢你的帮助!
$(document).ready(function(){
var clicked=false;
var deleteid;
$('#yes').click(function(){
deleteid = $(this).attr("data-deleteid");
$.get ('../../delete_function/', {delete_id:deleteid}, function(data){});
clicked = true;
});
if (clicked = true){
window.close();
}
});
答案 0 :(得分:1)
在$.get
的回调函数中关闭窗口。
$.get ('../../delete_function/', {delete_id:deleteid}, function(){
window.close();
});
您的if (clicked == true)
仅在加载页面时运行,因为它不在任何事件处理程序中。那时,按钮显然还没有被点击,所以它没有做任何事情。
如果直接从点击处理程序调用{{1}},它将在AJAX调用有机会运行之前关闭窗口。当您关闭窗口时,它正在运行的所有脚本(包括排队的任何AJAX操作)都将被终止。