我的应用程序中有一个模态对话框,其中包含大约10个输入(即文本,日期,数字和选择输入)。我需要知道用户是否更改了任何窗口小部件的值,这样当他们点击取消按钮时,我可以提示他们是否愿意在关闭对话窗口之前保存更改。
我可以用两种方式做到这一点,这可能不是最聪明的方式:
1)在我的javaScript中设置一个全局变量并跟踪" onChange"事件
2)比较每个小部件或输入之前和之后的值,以确定它们是否有任何改变。
我想知道是否还有其他任何我不了解的选项,因为我不熟悉jQuery和javaScript。
如果这是一个重复的问题我道歉,我搜索并发现了另一个类似的问题,但不是我所追求的。 Best way to track onchange as-you-type in input type="text"?
由于
答案 0 :(得分:2)
使用脏标志:
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;
});