Javascript 卸载警报
我需要关闭窗口显示警报框,但在我的代码中,每次都会使用onbeforeunload功能询问自动警报框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
<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>