好的,所以这是“如何在输入文本时动态启用/禁用按钮......”的常见问题的变体。因为这样做的常见且简单的方法是使用 jQuery 创建一个 Focus/Blur 函数,附加到 Blur 你的函数以检查当用户模糊(点击远离)输入字段时,相同的值是否为空白(并因此恢复为默认值),因此该按钮必须保持禁用状态。
但是,正如我在标题中强调的那样,我希望动态检查输入字段的状态以进行更改,以便启用或禁用按钮,而无需用户单击离开输入字段。
通常填写表单上的输入字段或最后一个输入字段,然后单击提交。当处理提交的启用/禁用的责任落在模糊功能上时,用户无法填写输入并立即单击提交而不保持禁用状态。普通用户会认为有问题;更有经验的用户可能会尝试点击离开(从而使用模糊功能),但我相信我们都同意这是不切实际的,更不用说优雅了。
我个人认为处理启用/禁用的单独函数要优雅得多。另外,我不确定它是否真的能解决这个问题。所以我最终尝试了
$('input#name').change(function () {
if (this.value.length > 0 && this.value !== default_value) {
$('button#submit').removeProp('disabled')
} else {
$('button#submit').prop('disabled', 'true');
}
});
它工作得很好,但就像 Focus/Blur 函数一样:jQuery 将字段中的“变化”理解为基本上相同的聚焦和模糊。所以,回到第一方。
有没有人知道如何解决这个特定问题?