如果输入为空,请使用jQuery检查

F__*_*__M 0 forms jquery input

如果输入为空,我如何检查jQuery?

我试过了:

$('#location').keydown(function(event) {
  if($("#location").val().length == 0 ) { $("#finalSearch").attr('disabled', 'true'); }
  if($("#location").val().length != 0 ) { $("#finalSearch").removeAttr('disabled'); }
});
Run Code Online (Sandbox Code Playgroud)

但是,即使我的领域里什么也没有,我想要提醒.

我想做的事:

  • 什么都没有:错误信息.

  • 有一个字母:没有错误信息.

  • 我删除了这封信:错误消息.

  • 如果该字段是填充但另一个功能:没有错误消息.

感谢帮助.

nnn*_*nnn 5

您应该使用该keyup事件而不是keydown- 在键该字段尚未更新,因此value在该点测试不会给您正确的结果.

blur如果用户通过"编辑"菜单或拖放或其他任何内容更改了字段,也可以进行同样的测试.

此外,除非使用真正旧版本的jQuery,否则使用该.prop()方法而不是.attr()设置禁用状态:

$('#location').on('keyup blur', function(event) {
   $("#finalSearch").prop('disabled', this.value.length === 0);
});
Run Code Online (Sandbox Code Playgroud)