一尘不染

检测未保存的更改

javascript

我需要在ASP
.Net应用程序中实现“未保存的更改”提示。如果用户修改了Web表单上的控件,并试图在保存之前导航离开,则将出现提示,警告他们尚未保存更改,并为他们提供取消并保留在当前页面上的选项。如果用户未触摸任何控件,则不应显示该提示。

理想情况下,我想用JavaScript实现此功能,但是在我开始滚动自己的代码之前,是否有任何现有的框架或推荐的设计模式来实现这一目标?理想情况下,我希望可以以最小的更改轻松地在多个页面上重复使用的东西。


阅读 289

收藏
2020-05-01

共1个答案

一尘不染

使用jQuery:

var _isDirty = false;
$("input[type='text']").change(function(){
  _isDirty = true;
});
// replicate for other input types and selects

根据需要与onunload/ onbeforeunload方法结合。

从注释中,以下内容引用了所有输入字段,而没有重复的代码:

$(':input').change(function () {

使用$(":input")是指所有输入,文本区域,选择和按钮元素。

2020-05-01