【发布时间】:2010-11-15 20:57:06
【问题描述】:
我正在设计一个相当长的表单,它将每隔几分钟自动保存一次(即,使用 Ajax,表单数据将被插入或更新到 MySQL 数据库中)。但是,如果用户决定在提交表单之前退出页面,我想确保删除插入到数据库中的行。如果用户只是单击另一个链接或表单的取消按钮,这很容易做到。但我担心当用户:1)关闭页面,2)重新加载页面,或 3)点击浏览器的后退(或前进)按钮时会发生什么。我知道如何使用 unload 事件来创建一个确认对话框,要求用户确认他们想要离开页面。但是我不知道如果用户单击确定(“按确定继续”),如何进行 Ajax 调用(从数据库中删除该行)。如果用户在卸载事件期间单击确定按钮,有什么方法可以调用函数?
window.onbeforeunload = function() {
if ($('#changes_made').val() == 'yes') //if user (partially) filled out the form
{
return "Are you sure?"
if (/*user clicks OK */) //What should the if statement evaluate here?
{
//make Ajax call
}
}
};
【问题讨论】:
标签: javascript jquery mysql ajax