如何使用jQuery检测哪个元素在表单中已更改

时间:2014-03-20 11:57:16

标签: jquery forms

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

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

这听起来像是.on()change事件的工作。这应该在触发更改事件时警告任何表单控件的id和值:

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

我猜您还可以添加其他事件,例如blurfocuskeypress,以捕获用户对输入执行任何操作的任何时间。 (例如$("#id-of-your-form").on("change blur focus keypress"...