Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止弹出后刷新页面_Javascript_Asp.net - Fatal编程技术网

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
它将发回,如果不返回,则不会发回