小编典典

使用 jQuery 检查输入是否为空

all

我有一个表格,我希望填写所有字段。如果单击某个字段然后未填写,我想显示红色背景。

这是我的代码:

$('#apply-form input').blur(function () {
  if ($('input:text').is(":empty")) {
    $(this).parents('p').addClass('warning');
  }
});

无论是否填写该字段,它都会应用警告等级。

我究竟做错了什么?


阅读 143

收藏
2022-03-10

共1个答案

小编典典

$('#apply-form input').blur(function()
{
    if( !$(this).val() ) {
          $(this).parents('p').addClass('warning');
    }
});

而且您不一定需要.length或查看它是否是>0因为空字符串无论如何都会评估为false,但如果您想出于可读性目的:

$('#apply-form input').blur(function()
{
    if( $(this).val().length === 0 ) {
        $(this).parents('p').addClass('warning');
    }
});

如果您确定它将始终在文本字段元素上运行,那么您可以使用this.value.

$('#apply-form input').blur(function()
{
      if( !this.value ) {
            $(this).parents('p').addClass('warning');
      }
});

此外,如果您只想引用一个单独的元素(假设上下文的后代/子代中有一个文本字段),您还应该注意$('input:text')抓取多个元素,指定一个上下文或使用关键字。this

2022-03-10