Javascript 卸载警报

Javascript 卸载警报,javascript,Javascript,我需要关闭窗口显示警报框,但在我的代码中,每次都会使用onbeforeunload功能询问自动警报框 <script type="text/javascript"> window.onbeforeunload = function(evt) { var message = 'Are you sure you want to leave?'; if (typeof evt == 'undefined') { evt = w

我需要关闭窗口显示警报框,但在我的代码中,每次都会使用onbeforeunload功能询问自动警报框

<script type="text/javascript">
    window.onbeforeunload = function(evt) {
        var message = 'Are you sure you want to leave?';
        if (typeof evt == 'undefined') {
            evt = window.event;
        }       
        if (evt) {
            evt.returnValue = message;
        }
        return message;
    } 
</script>


<form action="test.php">
    <input name="sample" type="submit" value="submit" />
</form>

window.onbeforeunload=函数(evt){
var message='您确定要离开吗?';
如果(evt的类型==‘未定义’){
evt=window.event;
}       
如果(evt){
evt.returnValue=消息;
}
返回消息;
} 

我想您只愿意将信息显示一次。全局变量是非常不受欢迎的,但这会起作用

<script type="text/javascript">
        var alertWasShown = false;
        window.onbeforeunload = function(evt) {
            if (alertWasShown)
                return;
            var message = 'Are you sure you want to leave?';
            if (typeof evt == 'undefined') {
                evt = window.event;
            }       
            if (evt) {
                evt.returnValue = message;
            }
            alertWasShown = true;
            return message;
        } 
    </script>

var AlertwasShowed=false;
window.onbeforeunload=函数(evt){
如果(显示警报)
返回;
var message='您确定要离开吗?';
如果(evt的类型==‘未定义’){
evt=window.event;
}       
如果(evt){
evt.returnValue=消息;
}
AlertwasShowed=true;
返回消息;
} 

这是因为您的
表单实际上正在离开页面。。。。您需要在卸载之前停止
onbeforeunload
或仅在需要条件变量时触发

代码示例:

剧本 HTML
我意识到英语不是你的第一语言,但你想做什么还不清楚。你能试着重新措辞这个问题吗?
   var response = true; // true by default

   window.onbeforeunload = function(evt) {
      if(response){
         var message = 'Are you sure you want to leave?';
         if (typeof evt == 'undefined') {
            evt = window.event;
         }       
         if (evt) {
            evt.returnValue = message;
         }
         return message;
      }
   }

   function validateForm(){
      // form validation process...
      response = false;
   }
<form action="test.php" onsubmit="validateForm()">
   <input name="sample" type="submit" value="submit" />
</form>