我遇到了错误:“val().length
为空或不是对象”,这是代码:
function size(sender, args) {
var sizeVariable = $("input[id$='txtHello']");
if (sizeVariable.val().length == 0)
{
args.IsValid = false;
}
}
错误发生在"if"语句中。我试图检查以下内容:
- 变量是否存在
- 如果变量中有任何内容
我遇到了错误:“val().length
为空或不是对象”,这是代码:
function size(sender, args) {
var sizeVariable = $("input[id$='txtHello']");
if (sizeVariable.val().length == 0)
{
args.IsValid = false;
}
}
你可以这样测试输入字段是否存在:
if($("input[id$='txtHello']").length > 0) { ... }
如果没有值,val()
将返回 undefined
。if(!!$("input[id$='txtHello']").val())
由于undefined
和""
都会被解析为false
,因此...
if (sizeVariable.val() == undefined || sizeVariable.val().length == 0)
。这样,在尝试查看存在值的长度之前,会首先检查是否有值。在尝试检查长度时,sizeVariable是否为空?
function size(sender, args) {
var sizeVariable = $("input[id$='txtHello']");
if (sizeVariable != null)
{
if (sizeVariable.val().length == 0)
{
args.IsValid = false;
}
}
else
{
alert('error');
}
}
sizeVariable
永远不会为空。如果文本字段不存在,则 sizeVariable
将是一个空的 jQuery 对象,而不是 null。函数 val()
仍然可用于它,但返回 undefined
,因此 val().length
不可用。 - David Hedlund请按照以下方式进行检查
if (sizeVariable.val() === undefined || sizeVariable.val().length == 0)
if( input.val().length > limit)
或者如果由于某种原因它没有工作,你可以使用:
if( ( input.val() ).length > limit )
你试过了吗...?
if( sizeVariable.size() == 0 )
{
args.IsValid = false;
}
$("input[id$='txtHello']")
是否返回任何元素,但它并不检查其 val()
是否包含值,而这是要求的。 - David Hedlund