JQuery模糊验证问题

时间:2010-06-04 03:02:37

标签: jquery validation forms blur

我有一个简单的表单,如果文本字段为空,我想使用blur验证。

下面的代码应该可以使用,但即使我弹出一些文字,也要保持警告,请问,我做错了什么?

var name = $("input#name").val();
$("input#name").blur(function() 
{
      if (('input#name:empty'))
      {
            // Testing
            alert('Empty');
      }
});

2 个答案:

答案 0 :(得分:1)

您想使用$(this).val(),如下所示:

$("input#name").blur(function() {
   if ($(this).val().length === 0) {
     // Testing
     alert('Empty');
   }
});

目前你正在检查if('input#name:empty')这是真的,任何字符串都是true在JavaScript中(弱键入)。此外:empty selector检查它没有子元素,而不是它的是空的,因此请检查该值是否为空字符串,或{{} 1}}就像我上面那样是空的:)

此外,除非您可能不希望匹配其他元素类型的此ID,否则.length就足够了,并且速度更快,#name前缀是多余的。

答案 1 :(得分:0)

试试这个:

$("input#name").blur(function() 
{
  var name = $(this).val();
  if (name.length == 0)
  {
        // Testing
        alert('Empty');
  }
});

编辑:尼克指出,模糊发生时需要检查输入文本。如果我做出更多改变,那就像他的回答一样,所以我就此止步。