问题是这样的,
当用户离开页面前,改变了页面的值,就要提示用户保存。
其中,用户关闭页面,离开页面时提示,刷新(回传)时,不提示。我不会判断是刷新还是离开
我的代码如下
function $(id)
{
return document.getElementById(id);
}
window.onload=function()
{
window.onbeforeunload=function()
{
if(ifPageValueChanged()==true)//如果页面值有改变时候
{
var n = window.event.screenX-window.screenLeft;
var b = n>document.documentElement.scrollWidth-20;
if(b&&window.event.clientY<0||window.event.altKey)
{
//判断为关闭操作。提示用户是否保存
event.returnValue = "页面值已修改,你还没保存,确定退出吗?";
}
else
{
// 请问 在这里如何判断是 刷新(回传) 还是 转向了新的页面?????????
}
}
}
}
function ifPageValueChanged()
{
ifChanged=false;
Table= document.getElementById("tb_users");
var hidCity; var ddl;
for(var i=1;i<=Table.rows.length;i++)
{
hidCity=$("rpt_users"+"_ctl0"+i+"_hidCity");
ddl=$("rpt_users"+"_ctl0"+i+"_ddl");
if(hidCity.value!=ddl.options[ddl.selectedIndex].value)
{
ifChanged=true;
}
}
return ifChanged;
}
当用户离开页面前,改变了页面的值,就要提示用户保存。
其中,用户关闭页面,离开页面时提示,刷新(回传)时,不提示。我不会判断是刷新还是离开
我的代码如下
function $(id)
{
return document.getElementById(id);
}
window.onload=function()
{
window.onbeforeunload=function()
{
if(ifPageValueChanged()==true)//如果页面值有改变时候
{
var n = window.event.screenX-window.screenLeft;
var b = n>document.documentElement.scrollWidth-20;
if(b&&window.event.clientY<0||window.event.altKey)
{
//判断为关闭操作。提示用户是否保存
event.returnValue = "页面值已修改,你还没保存,确定退出吗?";
}
else
{
// 请问 在这里如何判断是 刷新(回传) 还是 转向了新的页面?????????
}
}
}
}
function ifPageValueChanged()
{
ifChanged=false;
Table= document.getElementById("tb_users");
var hidCity; var ddl;
for(var i=1;i<=Table.rows.length;i++)
{
hidCity=$("rpt_users"+"_ctl0"+i+"_hidCity");
ddl=$("rpt_users"+"_ctl0"+i+"_ddl");
if(hidCity.value!=ddl.options[ddl.selectedIndex].value)
{
ifChanged=true;
}
}
return ifChanged;
}
onunload=function(){
if(数据改变)
widow.confirm("you have not are you sure exit?");
}