Javascript / JQuery - val()。length'是null或不是对象

时间:2011-01-18 10:34:03

标签: jquery

我的错误val().length为null或者不是来自代码的对象:

function size(sender, args) {

    var sizeVariable = $("input[id$='txtHello']");
    if (sizeVariable.val().length == 0)
    {
          args.IsValid = false;
     }
}

“If”语句中发生错误。我想检查一下:

  1. 变量存在
  2. 如果变量中有内容
  3. 我认为问题在于第(1)点。如何检查文本字段是否存在(希望能解决问题)?

6 个答案:

答案 0 :(得分:16)

您可以测试输入字段是否存在:

if($("input[id$='txtHello']").length > 0) { ... }

如果没有,val()将返回undefined

您可以立即跳到以下内容:

if(!!$("input[id$='txtHello']").val())

...因为undefined""都会解析为false

答案 1 :(得分:5)

请尝试使用if (sizeVariable.val() == undefined || sizeVariable.val().length == 0)。这样,它会先检查是否有值,然后再尝试查看它有多长,如果它存在

答案 2 :(得分:1)

尝试检查长度时,

是sizeVarialbe为空吗?



function size(sender, args) {

    var sizeVariable = $("input[id$='txtHello']");

    if (sizeVariable != null)
    {
      if (sizeVariable.val().length == 0)
      {
          args.IsValid = false;
      }
     }
     else
     {
       alert('error');
     }
}

答案 3 :(得分:1)

像这样进行检查

if (sizeVariable.val() === undefined || sizeVariable.val().length == 0)

答案 4 :(得分:0)

你试过......?

if( sizeVariable.size() == 0 )
{
    args.IsValid = false;
}

答案 5 :(得分:0)

在jQuery中你可以使用:

if( input.val().length > limit)

或者如果由于某种原因它没有用,你可以使用:

if( ( input.val() ).length > limit )