当检测到表单值已更改时,如何防止发生事件?
How can I prevent an event when detect the form values has changed?
我在加载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等。
您可以将初始值(当表单加载时)存储在一个变量中,例如cleanData,当用户单击另一个附加了其他操作的元素时,您可以首先将表单数据存储在另一个变量中,例如dirtyData,然后比较这两个变量,如果相等,则继续执行所单击元素附加的操作,否则显示警告
相关文章:
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- 针对重复发生的事件,使用moment.js防止DST偏移
- 如何在事件处理程序的回调中防止Default
- 如果鼠标在元素上快速移动和关闭,则防止.hoop事件被垃圾邮件发送
- 传单.绘制防止事件发生
- 如果出现错误消息,如何防止事件
- 防止事件处理程序排队
- 防止事件与其他事件一起触发
- 主动.js防止事件代理上的默认事件
- 在fabric.js中编辑iTextBox时防止事件发生
- Raphael.JS,防止事件冒泡
- 我如何防止事件循环与FRP(和培根.js)
- 如何防止事件冒泡,右导航按钮?钛
- 防止事件冒泡(用于javascript onclick事件)
- 如何从事件B处理程序中防止事件A的默认值
- 如何防止事件处理程序在jQuery的文档选择器触发的点击事件上堆叠
- 我如何防止事件冒泡在钛合金视图
- 使用jQuery防止事件进一步传播
- 防止事件bubling不'我在jquery工作
- 使用Google闭包库防止事件传播