pin*_*ngu 4 javascript jquery onbeforeload
我有一个表单,通过PHP提交3个提交操作:
我想触发一个"OnBeforeUnload"警报,以显示用户是否未点击任何表单操作以通知他们他们正在离开页面,并且他们的更改可能无法保存.
我尝试了以下代码,但似乎在我的点击事件之前触发了unbeforeunload.有关如何最好地实现这一点的任何建议?
$buttonpressed = false;
$j(".Actions input").click(function(){
$buttonpressed = true;
});
if(!$buttonpressed){
window.onbeforeunload = function(){
return "Your changes may not be saved.";
}
}
Run Code Online (Sandbox Code Playgroud)
Nic*_*ver 18
你需要做的检查内部处理程序,如下所示:
window.onbeforeunload = function(){
if(!$buttonpressed){
return "Your changes may not be saved.";
}
}
Run Code Online (Sandbox Code Playgroud)
目前,它的绑定window.onbeforeunload,当你的代码,因为运行$buttonpressed在false它运行的时候......不,如果它后来改变了,因为你已经绑定的处理程序无关紧要.另一种方法是使它更简单,如下所示:
window.onbeforeunload = function(){
return "Your changes may not be saved.";
}
$j(".Actions input").click(function(){
window.onbeforeunload = null;
});
Run Code Online (Sandbox Code Playgroud)
这只是删除了处理程序click.处理其他提交案例的更合适的事件是附加到submit事件,如下所示:
$j(".myForm").submit(function(){
window.onbeforeunload = null;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11265 次 |
| 最近记录: |