Как определить, какой элемент был изменен в форме с помощью jQuery

0

Я хотел бы знать, есть ли способ определить, какой элемент был изменен в форме с помощью jQuery. У меня есть форма с примерно 40 различными полями и хотелось бы знать, какая из них была индивидуально изменена. Все элементы имеют другой идентификатор. Результат должен дать такой массив с идентификаторами элементов.

Теги:
forms

2 ответа

5
Лучший ответ

Используйте обработчик change который добавляет ID в массив.

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

Это звучит как работа для .on() и события change. Это должно предупреждать идентификатор и значение любого элемента управления формой, когда он вызывает событие изменения:

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

Думаю, вы могли бы также добавить другие события, такие как blur, focus и keypress для захвата в любое время, когда пользователь что-либо делает с входами. (например, $("#id-of-your-form").on("change blur focus keypress"...)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню