gpt4 book ai didi

javascript - 使用 jquery 监控表单字段的变化

转载 作者:可可西里 更新时间:2023-11-01 02:15:27 24 4
gpt4 key购买 nike

尝试学习一些 jquery 来实现自动保存功能并需要一些帮助。我有一些代码来监视表单字段的状态,看看是否有任何变化。一切正常,但我只需要监视特定表单的更改,而不是页面上的所有表单输入。同一页面上有一个搜索框和一个时事通讯表单,当这些表单字段发生更改时,它们也会被检测到,我需要以某种方式或更好的方式过滤掉它们,只针对特定的表单。

$(function(){
setInterval("CheckDirty()",10000);
$(':input').each(function() {
$(this).data('formValues', $(this).val());
});
});

function CheckDirty()
{
var isDirty = false;

$(':input').each(function () {
if($(this).data('formValues') != $(this).val()) {
isDirty = true;
}
});

if(isDirty == true){
alert("isDirty=" + isDirty);
}
}

最佳答案

只需在表单中添加一个类并使用它来过滤

$('.form :input').each(function() {
$(this).data('formValues', $(this).val());
});

编辑

只是一个建议,可以直接把change事件附加到form上

现场演示:http://jsfiddle.net/jomanlk/kNx8p/1/

<form>
<p><input type='text'></p>
<p><input type='text'></p>
<p><input type='checkbox'></p>
</form>

<p><input type='text'></p>

<div id='log'></div>

$('form :input').change(function(){
$('#log').prepend('<p>Form changed</p>')
});

您可以通过添加计时器并使其每 xx 秒保存一次来轻松改进这一点。

关于javascript - 使用 jquery 监控表单字段的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5831065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com