我在加载html时添加了一些js代码。如下所示
var form = $('form');
$(':input').change(function() {
if ($('[name=form-update-detector]', form).length == 0) {
$(form).prepend('<input type="hidden" name="form-update-detector"/>')
}
$('[name=form-update-detector]', form).val('true');
});
有效。
我的问题是,当我检测到表单值已更改时,如何在用户单击其他元素(绑定重定向事件)时警告用户而不保存此表单?
绑定事件的元素可以是<a></a>
,<p></p>
或任何其他元素。代码可能是onclick="someEvent()"
或$('#someId').on('click',function(){})
或href等。
答案 0 :(得分:0)
您可以将初始值(在加载表单时)存储在变量say cleanData中,并且当用户单击其他附加了其他操作的元素时,您可以先将表单数据放在另一个变量中dirtyData,然后比较这两个,如果相等则继续执行附加在单击元素上的操作,否则显示警告。