[英]prevent Page refresh after pop-up
当用户单击javascript alert
窗口的“ OK
按钮时,如何防止页面刷新。
<asp:Button ID="btnComplete" runat="server" Text="Complete" OnClientClick ="verify_complete()" />
function verify_complete() {
if (!chkCmnts()) {
alert("Categories/comments are required. ");
return false;
}
}
谢谢
BB
您已经从JS返回false,因此需要将标记更改为:
<asp:Button ID="btnComplete" runat="server" Text="Complete" OnClientClick ="return verify_complete()" />
如果verify_complete()
函数返回true
,它将回发,否则返回。
您不能阻止这种情况,但是可以通过弹出窗口通知用户不应重新加载。 这是通过onbeforeunload窗口事件完成的,最好在MDN上进行记录 。
将其添加到脚本标签的弹出窗口中
var controllVar = 1;
将此添加到您的父窗口。 (弹出窗口是window.open(...)
的返回)。 实际上,这是一些严格的错误测试,因为各种风格的IE都显示了多个Bug。
window.onbeforeunload = function (e) {
//here we try accessing the popup
try {
if(!popup && popup.controllVar != 1) {
return;
}
} catch(e) {
return;
}
e = e || window.event;
// For IE and Firefox prior to version 4
if (e) {
e.returnValue = 'YOUR ERROR MESSAGE';
}
// For Safari
return 'YOUR ERROR MESSAGE';
};
如果将一些文本添加到答案textarea中,然后尝试离开页面,则此行为与Stackoverflow上的行为完全相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.