如何判断在页面关闭的时候有数据改动 当单击页面右上角“×”,当页面有数据改动的时候,提示保存信息,如何判断页面上的数据是否有改变? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你个简单的例子<HTML> <HEAD> <TITLE>test</TITLE> </HEAD> <BODY> <FORM METHOD=POST ACTION=""> <INPUT TYPE="button" value="save" onclick="bypassCheck();saveClick()"> </FORM> </BODY> </HTML> <script language="javascript"> var g_blnCheckUnload = true; function RunOnBeforeUnload() { if(g_blnCheckUnload) { window.event.returnValue = '你将丢失没有保存的内容'; } } function bypassCheck() { g_blnCheckUnload = false; } onbeforeunload=RunOnBeforeUnload; </script> 页面上放一个<input type="hidden" name="biaoshi" value="0">写一个方法:<Script Language="javascript">var temp="";function getUpdate1(m){temp=document.all(m).value; }function getUpdate2(m){var temp2=document.all(m).value;if(temp!=temp2) { form.biaoshi.value=1; } }</Script>每个可以编辑的组件都调用此方法如下:<input type="text" name="txt1" onFocus="javascript:getUpdate1('txt1')" onBlur="javascript:getUpdate2('txt1')" value="" >//还可以调用onchange事件进行操作保存的时候获取form.biaoshi.value值,看是否为1,0表示没改变,1表示有数据更改。 楼主调用onchange事件吧,如果某个输入框调用了onchange事件,那就证明数据改变了,或者和原来的值进行一一对比 <HTML> <HEAD> <TITLE>test</TITLE> </HEAD> <BODY> <FORM METHOD=POST ACTION=""> <input type="text" id="username" value="xshf12345" /></FORM><script language="javascript"> var oldValue = document.getElementById("username").value; function RunOnBeforeUnload() { var newValue = document.getElementById("username").value; if (oldValue != newValue) { window.event.returnValue = '你将丢失没有保存的内容'; } } onbeforeunload = RunOnBeforeUnload; </script> </BODY> </HTML> int flag=0;就是一个状态的问题 当指定地方的数据修改了 1表示修改了 然后再触发保存按钮就是了 一直为0则直接关闭这个WINFROM的思路 在WEB应该也是可用的 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><script language="javascript"> function test(event) { // if 有数据更新 if(confirm('要保存吗?')){ //... alert('保存成功'); } } </script></head><body onbeforeunload="test()"></body></HTML> 在onbeforeunload事件处理函数中判断就行了,这个事件会在你点击了浏览器的“关闭”或者“刷新”按钮后出发! js 循环构造三维数组出现的问题 我个想不通的问题,象对调试后却发现不对 ◆shan1119、高手请进。扩展碰撞函数 关于open对话框的问题 有清楚点的javascript权威指南吗?? 请问javascript中变量的写法? 如何用Javascript动态生成edit? 请问该效果如何实现 JS--iframe添加tabs问题,传参问题。 怎么把图片默认展示在zyupload里 js 金额格式 js 如何引用自定义的光标?????
<HTML>
<HEAD>
<TITLE>test</TITLE>
</HEAD> <BODY>
<FORM METHOD=POST ACTION="">
<INPUT TYPE="button" value="save" onclick="bypassCheck();saveClick()">
</FORM>
</BODY>
</HTML>
<script language="javascript"> var g_blnCheckUnload = true;
function RunOnBeforeUnload()
{
if(g_blnCheckUnload)
{
window.event.returnValue = '你将丢失没有保存的内容';
}
} function bypassCheck()
{
g_blnCheckUnload = false;
}
onbeforeunload=RunOnBeforeUnload;
</script>
写一个方法:
<Script Language="javascript">
var temp="";
function getUpdate1(m)
{temp=document.all(m).value;
}function getUpdate2(m)
{
var temp2=document.all(m).value;
if(temp!=temp2)
{
form.biaoshi.value=1;
}
}</Script>
每个可以编辑的组件都调用此方法如下:<input type="text" name="txt1" onFocus="javascript:getUpdate1('txt1')" onBlur="javascript:getUpdate2('txt1')" value="" >//还可以调用onchange事件进行操作
保存的时候获取form.biaoshi.value值,看是否为1,0表示没改变,1表示有数据更改。
<HEAD>
<TITLE>test</TITLE>
</HEAD> <BODY>
<FORM METHOD=POST ACTION="">
<input type="text" id="username" value="xshf12345" /></FORM>
<script language="javascript"> var oldValue = document.getElementById("username").value;
function RunOnBeforeUnload() {
var newValue = document.getElementById("username").value;
if (oldValue != newValue) {
window.event.returnValue = '你将丢失没有保存的内容';
}
} onbeforeunload = RunOnBeforeUnload;
</script>
</BODY>
</HTML>
就是一个状态的问题
当指定地方的数据修改了 1
表示修改了 然后再触发保存按钮就是了 一直为0则直接关闭
这个WINFROM的思路 在WEB应该也是可用的
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script language="javascript">
function test(event) {
// if 有数据更新
if(confirm('要保存吗?')){
//...
alert('保存成功');
}
}
</script>
</head>
<body onbeforeunload="test()">
</body>
</HTML>