0

このifステートメントは2つの異なるページで機能しますが、これら2つのページには両方とも異なる名前のフィールドがあるため、IfステートメントでORを使用する必要がありますが、機能しません。これが私のコードです...

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

デバッグする理由は、「キャッチされていないタイプのエラー:未定義のプロパティ'length'を読み取れません」と表示されます。
これは、プロパティIDの1つがページに存在しないためですか、それとも何ですか?どうすればこれを回避できますか?
ありがとう

4

2 に答える 2

2

valundefinedjQueryコレクションが空の場合に戻ります。

あなたはこれを行うことができます :

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

2つのフィールドのいずれかが確実にある場合の別の解決策:

    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 に答える