首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用jQuery检测表单中的数据更改

使用jQuery检测表单中的数据更改
EN

Stack Overflow用户
提问于 2009-04-30 14:19:47
回答 6查看 74.4K关注 0票数 30

我正在使用带有母版页的ASP.NET 2.0,我想知道是否有人知道一种方法来检测某个<div>fieldset中的字段何时发生了更改(例如,标记为“IsDirty”)?

EN

回答 6

Stack Overflow用户

发布于 2014-05-16 21:16:53

一个简单而优雅的解决方案(它实时检测表单元素的变化):

var formChanged = false;

$('#my-div form').on('keyup change paste', 'input, select, textarea', function(){
    formChanged = true;
});
票数 28
EN

Stack Overflow用户

发布于 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属性。

票数 10
EN

Stack Overflow用户

发布于 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; 
   }); 
});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/807159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档