Javascript 防止弹出后刷新页面
当用户单击Javascript 防止弹出后刷新页面,javascript,asp.net,Javascript,Asp.net,当用户单击javascript警报窗口的OK按钮时,如何防止页面刷新 <asp:Button ID="btnComplete" runat="server" Text="Complete" OnClientClick ="verify_complete()" /> function verify_complete() { if (!chkCmnts()) { alert("Categories/comments are required
javascript警报
窗口的OK
按钮时,如何防止页面刷新
<asp:Button ID="btnComplete" runat="server" Text="Complete" OnClientClick ="verify_complete()" />
function verify_complete() {
if (!chkCmnts()) {
alert("Categories/comments are required. ");
return false;
}
}
函数验证_完成(){
如果(!chkcnts()){
警告(“需要类别/注释”);
返回false;
}
}
谢谢
BB您无法阻止此操作,但您可以通过弹出窗口通知用户不应重新加载。这是通过onbeforeunload窗口事件完成的,最好记录在 将其添加到脚本标记中的弹出窗口
var controllVar = 1;
将此添加到父窗口。(弹出窗口是窗口的返回。打开(…)
)。这里实际上是一些密集的错误测试,因为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';
};
如果您将一些文本添加到应答文本区域,然后尝试离开页面,这将与Stackoverflow上的行为完全相同。您已经从JS返回false,因此需要将标记更改为:
<asp:Button ID="btnComplete" runat="server" Text="Complete" OnClientClick ="return verify_complete()" />
如果verify_complete()
函数返回true
它将发回,如果不返回,则不会发回