我有这个if语句适用于两个不同的页面,但是这两个页面都有一个具有不同名称的字段,所以我必须在我的If语句中使用OR,但它不起作用。这是我的代码......
if ($("#searchValue").val().length > 100 || $("#txtSearch").val().length > 100) {
}
为什么我要调试,它说“未捕获的类型错误:无法读取未定义的属性'长度'”。
这是因为页面上不存在其中一个属性ID或者是什么?我怎么解决这个问题?
感谢
答案 0 :(得分:2)
val
返回undefined
。
你可以这样做:
var s1 = $("#searchValue").val();
var s2 = $("#txtSearch").val();
if ((s1 && s1.length>100) || (s2 && s2.length>100)) {
另一种解决方案,如果您确定只有两个字段中的一个:
if ($("#searchValue, #txtSearch").val().length>100) {
答案 1 :(得分:1)
将其更改为
if (($("#searchValue").val()!=null && $("#searchValue").val().length > 100) || ($("#txtSearch").val()!=null && $("#txtSearch").val().length > 100)) {
}
而不是
if ($("#searchValue").val().length > 100 || $("#txtSearch").val().length > 100) {
}