提问人:Pekka 提问时间:11/24/2009 最后编辑:Rob WPekka 更新时间:12/29/2011 访问量:2690
检测实际的形状变化?
Detect actual form change?
问:
有没有现成的方法(也许在其中一个框架中)来检测表单与其原始值相比是否发生了变化?
onchange 事件不会起作用,因为无论实际更改如何,它都会触发(例如,我可以勾选一个复选框,然后再次勾选,其中包含两个 onchange 事件)。
最后的手段是将每个元素的原始值存储在一个隐藏的字段中,并遍历每个元素。如果有更快的方法,我很高兴听到它!
答:
11赞
meder omuraliev
11/24/2009
#1
我不知道有任何 DOM 事件可以检测对子元素/后代元素的值属性所做的更改,但应该足以比较之前/之后的序列化值。如果您已经特别了解此方法,我深表歉意,我假设您正在手动遍历表单元素并将值附加到字符串中。$('form').serialize()
评论
0赞
Pekka
11/24/2009
不,我不知道/考虑过序列化。这是个好主意,谢谢!
0赞
Tapper
7/17/2012
这是一个很好的解决方案。太糟糕了,它不适用于带有 div 和 fieldset-definitions 的复杂形式。
0赞
powderflask
12/11/2009
#2
我正在寻找相同的答案 - 这是我遇到过的最佳潜在解决方案(但尚未尝试过):http://www.codingforums.com/showthread.php?t=29410&highlight=form+dirty
评论