我对一些 javascript 逻辑有点迷失了。我有一个包含 3 个文本字段的表单。它们通过 javascript(无占位符)显示默认值。当表单被聚焦时,值被清除,当表单被模糊时,如果字段值没有改变,则恢复默认值。
我必须编写一些条件逻辑来确保如果值发生更改,字段文本颜色从灰色(默认占位符值)更改为黑色。
这 3 个字段具有不同的默认值。我尝试在 Blur 上编写一个通用脚本来检查当前字段的值,以根据默认值对其进行测试。
$fields = $('#webform-component-group-1 .webform-component-watermarked');
var keys = [];
var values = [];
console.log($fields.length);
$fields.each(function(){
keys.push($(this).attr('id'));
values.push($(this).val());
$(this).blur(function(){
console.log($(this).val());
console.log($(this).val() !== values[keys.indexOf($(this).attr('id'))]);
});
});
但是我的测试总是返回 true,因为当我在 blur 上运行测试时,占位符值没有恢复。
处理这个问题的最佳方法是什么?
干杯