0

我有这个在两个不同页面上工作的 if 语句,但是这两个页面都有一个名称不同的字段,所以我必须在我的 If 语句中使用 OR,但它不起作用。这是我的代码...

if ($("#searchValue").val().length > 100 || $("#txtSearch").val().length > 100) {
}

为什么我调试,它说“未捕获的类型错误:无法读取未定义的属性'长度'”。
这是因为页面上不存在其中一个属性 ID 还是什么?我该如何解决这个问题?
谢谢

4

2 回答 2

2

valundefined当 jQuery 集合为空时返回。

你可以这样做 :

    var s1 = $("#searchValue").val();
    var s2 = $("#txtSearch").val();
    if ((s1 && s1.length>100) || (s2 && s2.length>100)) {

如果您确定拥有两个字段中的一个,则另一种解决方案:

    if ($("#searchValue, #txtSearch").val().length>100) {
于 2012-11-08T10:14:44.870 回答
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) {
}
于 2012-11-08T10:16:27.320 回答