我正在使用带有母版页的ASP.NET 2.0,我想知道是否有人知道一种方法来检测某个<div>
或fieldset
中的字段何时发生了更改(例如,标记为“IsDirty
”)?
发布于 2014-05-16 21:16:53
一个简单而优雅的解决方案(它实时检测表单元素的变化):
var formChanged = false;
$('#my-div form').on('keyup change paste', 'input, select, textarea', function(){
formChanged = true;
});
发布于 2018-04-06 09:37:09
对于表单,您可以在加载时序列化内容,然后在以后比较序列化,例如:
$(function(){
var initdata=$('form').serialize();
$('form').submit(function(e){
e.preventDefault();
var nowdata=$('form').serialize();
if(initdata==nowdata) console.log('nothing changed'); else console.log('something changed');
// save
initdata=nowdata;
$.post('settings.php',nowdata).done(function(){
console.log('saved');
});
});
});
注这要求表单元素具有name
属性。
发布于 2009-04-30 14:31:05
只是为了澄清一下,因为问题是“在某个fieldset/div内”:
var somethingChanged = false;
$(document).ready(function() {
$('fieldset > input').change(function() {
somethingChanged = true;
});
});
或
var somethingChanged = false;
$(document).ready(function() {
$('div > input').change(function() {
somethingChanged = true;
});
});
https://stackoverflow.com/questions/807159
复制相似问题