我正在使用以下
JavaScript代码来警告用户,如果他尝试重定向到另一个页面而不提交表单.
@H_502_2@window.onbeforeunload = function() {
return 'Are you sure that you want to leave this page?';
};
这工作正常.但我的问题是当用户尝试使用提交按钮确认框提交表单时将出现.
我不想询问用户是否提交表格,否则我想要确认.这怎么可能?
解决方法
保持状态变量.当用户点击提交按钮设置状态为userSubmitted = True;
状态变量可以包括全局变量或隐藏控件. @H_502_2@var userSubmitted=false; $('form').submit(function() { userSubmitted = true; });
状态变量可以包括全局变量或隐藏控件. @H_502_2@var userSubmitted=false; $('form').submit(function() { userSubmitted = true; });
那么检查一下
@H_502_2@window.onbeforeunload = function() { if(!userSubmitted) return 'Are you sure that you want to leave this page?'; };PS:交叉检查onbeforunload兼容性的跨浏览器.