0

テキストフィールドが空の場合、ぼかしを使用して検証したい単純なフォームがあります。

以下のコードは機能するはずですが、テキストを入力してもアラートが表示され続けます。何が間違っているのでしょうか?

var name = $("input#name").val();
$("input#name").blur(function() 
{
      if (('input#name:empty'))
      {
            // Testing
            alert('Empty');
      }
});
4

2 に答える 2

1

$(this).val()次のように使用します。

$("input#name").blur(function() {
   if ($(this).val().length === 0) {
     // Testing
     alert('Empty');
   }
});

現在if('input#name:empty')、どちらが真であるかを確認しています。文字列はすべてtrueJavaScript になります (型付けが弱い)。また、:emptyセレクターは、が空ではなく、子要素がないことを確認するため、値が空の文字列であるか、上記のように空であることを確認します:).length

また、この ID が一致させたくない別の要素タイプに存在する可能性がない限り、#name十分かつ高速であり、inputプレフィックスは不要です。

于 2010-06-04T03:05:51.083 に答える
0

これを試して:

$("input#name").blur(function() 
{
  var name = $(this).val();
  if (name.length == 0)
  {
        // Testing
        alert('Empty');
  }
});

編集:ニックは、ぼかしが発生したときに入力テキストをチェックする必要があると指摘しました。これ以上変更すると、彼の答えのようになるので、ここで終了します。

于 2010-06-04T03:05:45.703 に答える