跟踪表单字段更改(很脏)但没有Form元素

时间:2014-01-17 07:25:11

标签: jquery

在我的网络应用中,我需要跟踪表单字段的更改,例如input,textarea等。基本上我正在寻找一个“很脏”的插件,最好是jQuery。它们有很多,但它们似乎都依赖于具有Form元素的html。我的应用程序不使用Form元素,保存数据是通过Ajax完成的,所以我甚至没有提交按钮。

如果在用户输入数据时设置脏标志而在控件失去焦点时设置脏标志也会很好。

您知道可以检测更改的插件吗?只是提供了一个在任何更改但不需要Form元素时被触发的回调?

1 个答案:

答案 0 :(得分:0)

你应该使用的jQuery函数是.change和.each,如下所述

您可以绑定以下内容

$( "input" ).change(function() {
alert( "Handler for .change() called." );
});

这对您有用,但请记住,您将针对您要按的每个更改/密钥执行AJAX请求。

编辑:

我建议您在每次更改时收集数据并立即发送。这些可以使用.each()实现,如下所示

$( "input" ).change(function() {
    $('input').each(function(key)               
        formData += '&'+$('#'+this.id).attr('name')+'='+$('#'+this.id).val();   
    });
});

上述内容可能需要根据您的需求进行细化,但我觉得我应该清楚地告诉您如何继续前进。

您也可以考虑将以下(Bind with Delay)与上述内容结合使用,以避免这些多个AJAX请求。

jQuery文档

.change .each

由于