跟踪模态内部HTML表单中的更改

Track of changes in an HTML form inside of a modal

本文关键字:表单 模态 内部 HTML 跟踪      更新时间:2023-09-26

我的应用程序中有一个模式对话框,其中包含大约10个输入(即文本、日期、数字和选择输入(。我需要知道用户是否更改了任何小部件的值,这样当他们点击取消按钮时,我可以在关闭对话窗口之前提示他们是否愿意保存更改。

我可以用两种方法来做到这一点,这可能不是最聪明的方法:

1( 在我的javaScript中设置一个全局变量,并跟踪"onChange"事件。

2( 比较每个小部件或输入前后的值,以确定它们是否发生了变化。

我想知道是否还有其他我不知道的选项,因为我是jQuery和javaScript的新手。

如果这是一个重复的问题,我很抱歉,我搜索并发现了另一个类似的问题,但不是我想要的。在输入type="时跟踪onchange的最佳方式;文本";?

感谢

使用脏标志:

var dirty = false;
$('#myModalForm input').change(function() {
  dirty = true;
});
$('#myModalForm #cancelButton').click(function() {
  if (dirty) {
    //confirm
  }
  // exit modal
});
$('#myModalForm #save').click(function() {
  // save
  dirty = false;
});