0

当用户尝试离开表单页面时,我有一条 javascript 消息提醒用户,以防他尚未完成填写表单,如下所示:

window.onbeforeunload = function (evt) {
if(window.nounloadcheck == true) return;
var message = 'Data you entered may not be saved';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
}
return message;
}

我在同一页面上还有一个链接,它打开了一个颜色框模式,因此用户可以上传一张新照片。提交新照片后,彩盒模式关闭并刷新主页,以便用户可以看到他们上传的新照片。这是刷新主页的颜色框代码:

jQuery(document).ready(function(){
jQuery(".iframe").colorbox({iframe:true, width:"748px", height:"92%", onClosed:function(){ location.reload(true); } });
});

问题是当页面尝试重新加载时,会出现 javascript 警报。我试过了:

 <form ... onSubmit='window.nounloadcheck = true; return true;'>

这句话用于主页上表单的提交按钮。但它不适用于彩盒模式上的提交按钮。如何防止主页在关闭颜色框模式时显示 javascript 警报?

4

2 回答 2

1

您正在寻找:

<form ... onSubmit='window.onbeforeunload = null; return true;'>

这将在事件处理程序运行之前清除它。

于 2012-10-04T21:39:15.550 回答
1

你不能在 ?onClosed之前将它添加到函数中location.reload

于 2012-10-04T21:37:10.683 回答