js检测离开或刷新页面时表单数据是否更改的方法

 更新时间:2016年08月02日 15:52:08   作者:Quber  
这篇文章主要介绍了js检测离开或刷新页面时表单数据是否更改的方法,涉及javascript表单操作及事件响应的相关技巧,需要的朋友可以参考下

本文实例讲述了js检测离开或刷新页面时表单数据是否更改的方法。分享给大家供大家参考,具体如下:

function formIsDirty(form) {
  for (var i = 0; i < form.elements.length; i++) {
    var element = form.elements[i];
    var type = element.type;
    if (type == "checkbox" || type == "radio") {
      if (element.checked != element.defaultChecked) {
        return true;
      }
    }
    else if (type == "hidden" || type == "password" || type == "text" || type == "textarea") {
      if (element.value != element.defaultValue) {
        return true;
      }
    }
    else if (type == "select-one" || type == "select-multiple") {
      for (var j = 0; j < element.options.length; j++) {
        if (element.options[j].selected != element.options[j].defaultSelected) {
          return true;
        }
      }
    }
  }
  return false;
}
window.onbeforeunload = function (e) {
  e = e || window.event;
  if (formIsDirty(document.forms["someForm"])) {
    // IE 和 Firefox
    if (e) {
      e.returnValue = "对不起,页面数据已做修改,尚未保存,确定要刷新或离开本页面?";
    }
    // Safari浏览器
    return "对不起,页面数据已做修改,尚未保存,确定要刷新或离开本页面?";
  }
};

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • JS路由跳转的简单实现代码

    JS路由跳转的简单实现代码

    本文给大家分享一个简单的js路由跳转功能,非常不错,需要的朋友参考下吧
    2017-09-09
  • 2020淘宝618理想生活列车自动领喵币js脚本的代码

    2020淘宝618理想生活列车自动领喵币js脚本的代码

    这篇文章主要介绍了2020淘宝618理想生活列车自动领喵币脚本,需要先安装 auto.js脚本,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Script标签与访问HTML页面详解

    Script标签与访问HTML页面详解

    本篇文章主要是对Script标签与访问HTML页面进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • NestJs使用Mongoose对MongoDB操作的方法

    NestJs使用Mongoose对MongoDB操作的方法

    这篇文章主要介绍了NestJs使用Mongoose对MongoDB操作的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • JS过滤url参数特殊字符的实现方法

    JS过滤url参数特殊字符的实现方法

    本篇文章主要是对JS过滤url参数特殊字符的实现方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • JS的replace方法详细介绍

    JS的replace方法详细介绍

    replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用
    2012-11-11
  • js实现的仿新浪微博完美的时间组件升级版

    js实现的仿新浪微博完美的时间组件升级版

    本博客没有华丽的布局,只求朴实的js的代码,只为js代码爱好者提供,一周大概会出1-2篇js前沿代码的文章.只是代码,不说技术
    2011-12-12
  • js实现用户输入的小写字母自动转大写字母的方法

    js实现用户输入的小写字母自动转大写字母的方法

    下面小编就为大家带来一篇js实现用户输入的小写字母自动转大写字母的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • uniapp打包成微信小程序的详细过程

    uniapp打包成微信小程序的详细过程

    微信小程序的出现给我们提供了一种使用应用的新方式和体验,下面这篇文章主要给大家介绍了关于uniapp打包成微信小程序的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • js实现div层缓慢收缩与展开的方法

    js实现div层缓慢收缩与展开的方法

    这篇文章主要介绍了js实现div层缓慢收缩与展开的方法,通过javascript自定义函数实现div层的收缩与展开效果,非常具有实用价值,需要的朋友可以参考下
    2015-05-05

最新评论