如何使用jQuery检测表单中更改了哪些元素

如何使用jQuery检测表单中更改了哪些元素,jquery,forms,Jquery,Forms,我想知道是否有任何方法可以通过jQuery检测表单中更改了哪个元素。我有一个大约40个不同字段的表单,我想知道其中哪一个字段被单独更改了。所有元素都有不同的ID。结果应该给出这样一个包含元素ID的数组。使用change处理程序将ID添加到数组中 $(function() { var changed = []; $(":input").change(function() { if (changed.indexOf(this.id) == -1) {

我想知道是否有任何方法可以通过jQuery检测表单中更改了哪个元素。我有一个大约40个不同字段的表单,我想知道其中哪一个字段被单独更改了。所有元素都有不同的ID。结果应该给出这样一个包含元素ID的数组。

使用
change
处理程序将ID添加到数组中

$(function() {
    var changed = [];
    $(":input").change(function() {
        if (changed.indexOf(this.id) == -1) {
            changed.push(this.id);
        }
    });
});

使用
change
处理程序将ID添加到数组中

$(function() {
    var changed = [];
    $(":input").change(function() {
        if (changed.indexOf(this.id) == -1) {
            changed.push(this.id);
        }
    });
});

这听起来像是一个作业和
change
事件。当任何表单控件触发更改事件时,这应提醒其id和值:

$("#id-of-your-form").on("change", "input, textarea, select", function() {
    var changedInput = $(this);
    alert(changedInput.attr("id"), changedInput.val());
});

我想您还可以添加其他事件,如
blur
focus
keypress
,以捕获用户对输入执行任何操作的任何时间。(例如,
$(“#您表单的id”)。在(“更改模糊焦点按键”…

上,这听起来像是一个作业和
更改事件。这应该在触发更改事件时提醒任何表单控件的id和值:

$("#id-of-your-form").on("change", "input, textarea, select", function() {
    var changedInput = $(this);
    alert(changedInput.attr("id"), changedInput.val());
});
我想您还可以添加其他事件,如
blur
focus
keypress
,以捕获用户对输入进行任何操作的任何时间。(例如,
$(“#表单id”)。在(“更改blur focus keypress”…