Javascript / JQuery – val()。length’是null或不是对象

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

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

错误发生在“If”语句中。 我试图检查是否:

  1. 变量存在
  2. 如果变量中有什么东西

我认为问题在于第(1)点。 如何检查文本字段是否存在(希望能解决问题)?

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

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

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

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

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

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

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

尝试检查长度时sizeVarialbe为null?

 function size(sender, args) { var sizeVariable = $("input[id$='txtHello']"); if (sizeVariable != null) { if (sizeVariable.val().length == 0) { args.IsValid = false; } } else { alert('error'); } } 

像这样做你的支票

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

你有没有尝试过…?

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

在jQuery中,您可以使用:

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

或者如果由于某种原因它不起作用你可以使用:

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