如何在检测到表单值发生变化时阻止事件?

时间:2015-07-28 08:11:37

标签: javascript jquery

我在加载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等。

1 个答案:

答案 0 :(得分:0)

您可以将初始值(在加载表单时)存储在变量say cleanData中,并且当用户单击其他附加了其他操作的元素时,您可以先将表单数据放在另一个变量中dirtyData,然后比较这两个,如果相等则继续执行附加在单击元素上的操作,否则显示警告。