当用户点击OK
窗口的javascript alert
按钮时,如何阻止页面刷新。
<asp:Button ID="btnComplete" runat="server" Text="Complete" OnClientClick ="verify_complete()" />
function verify_complete() {
if (!chkCmnts()) {
alert("Categories/comments are required. ");
return false;
}
}
由于
BB
答案 0 :(得分:1)
您已经从JS返回false,因此您需要将标记更改为:
<asp:Button ID="btnComplete" runat="server" Text="Complete" OnClientClick ="return verify_complete()" />
如果verify_complete()
函数返回true
,它将返回,如果不返回,则不会。
答案 1 :(得分:0)
您无法阻止此操作,但您可以通过弹出窗口通知用户不应重新加载。这是通过onbeforeunload窗口事件完成的,最好记录在MDN。
在Script-Tag
中将其添加到弹出窗口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中的行为完全相同。