Jquery 无法获取属性的值';匹配';:对象为null或未定义
当下面的函数工作时,我得到“无法获取属性'match'的值:对象为null或未定义”。有趣的是,它在另一个页面上工作得非常好。有什么想法吗Jquery 无法获取属性的值';匹配';:对象为null或未定义,jquery,regex,validation,Jquery,Regex,Validation,当下面的函数工作时,我得到“无法获取属性'match'的值:对象为null或未定义”。有趣的是,它在另一个页面上工作得非常好。有什么想法吗 function valPoBox(sender, args) { var hasPObox = /^[P|p]*(OST|ost)*\.*\s*[O|o|0]*(ffice|FFICE)*\.*\s*[B|b][O|o|0][X|x]\s*(\d.)*/gi; var StreetAddress = $('.streetaddress').
function valPoBox(sender, args) {
var hasPObox = /^[P|p]*(OST|ost)*\.*\s*[O|o|0]*(ffice|FFICE)*\.*\s*[B|b][O|o|0][X|x]\s*(\d.)*/gi;
var StreetAddress = $('.streetaddress').val();
if (StreetAddress.match(hasPObox)) {
args.IsValid = false;
sender.ErrorMessage = "Address must not contain P.O. Box";
$('.valPoBox').attr("ErrorMessage", sender.ErrorMessage);
}
else {
args.IsValid = true;
}
}
所有字符串都有一个
match
方法,因此您处理的对象不能是字符串。.val()
方法只返回两种不同的内容:当找到元素时返回字符串,当找不到元素时返回未定义的。记住这一点,$('.streetaddress')
必须返回0个元素。修改选择器,使其以正确的元素为目标来解决问题。最有可能的是$('.streetaddress')。val()
由于找不到任何元素而返回未定义。用console.log($('.streetaddress').val())
和console.log($('.streetaddress').length)
确定它。谢谢凯文!