您好,欢迎光临! 推荐您使用Chrome浏览器访问本站。

离开页面时提示是否保存页面修改内容的简单实现

在很多系统中如果我们修改了某些信息,没有保存就离开当前的页面,系统通常会提示“信息发生变化,是否要保存”等;比如当你改变了QQ中的个人基本资料, 没有点“确认”或“应用”按钮,而是直接“取消”,系统会提示“您已经对设置做了修改,是否保存?”这类友好的提示在客户体验上为软件/系统增色不少,那 么这类功能究竟如何实现呢?下面介绍一种简单的方式,即通过JS来控制,看下面的代码:


<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
 var changeFlag=false;
 //标识文本框值是否改变,为true,标识已变
 $(document).ready(function(){
 //文本框值改变即触发
 $("input[type='text']").change(function(){
 changeFlag=true;
 });
 //文本域改变即触发
 $("textarea").change(function(){
 changeFlag=true;
 });
 });
 //离开页面时保存文档
 window.onbeforeunload = function() {
 if(changeFlag ==true){
 //如果changeFlag的值为true则提示
 if(confirm("页面值已经修改,是否要保存?")){
 //处理信息保存...
 alert("即将执行保存操作...");
 }else{
 //不保存数据...
 alert("不保存信息...");
 }
 }
 }
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 </head>
<body>
 <form action="">
 帐号:<input type="text" name="username"/><br/>
 密码:<input type="text" name="password"/><br/>
 备注:<textarea rows="3" cols="17"></textarea>
 <input type="submit" value="提交"/>
 </form>
</body>
</html>

您可能也喜欢