1

入力テキストフィールドからぼかしイベントを使用すると、すべてのページが含まれますが、送信ボタンも含まれます。では、blurイベントに送信ボタンが含まれないようにするにはどうすればよいですか?

これがhtmlコードです:

<form>
   <input type="text" value="EMAIL ADDRESS_" id="text" />
   <input type="submit" val="" id="submit" />
</form>

およびスクリプト:

$('form input[type!=submit]').focus(function(){
     $(this).val("");
     });
$('form input[type!=submit]').blur(function(){
     if(this.value==""){
     $(this).val("EMAIL ADDRESS_");
  }
});

前の質問からこのコードを取得しましたが、機能しません。Blurイベントにはまだ送信ボタンが含まれています

4

2 に答える 2

1

選択から1つのフィールドを避けるのではなく、選択の対象となる項目を指定する方がよいと思います。そうでなければ、誰か/あなたが、将来的にフォームに新しい要素を追加する可能性があり、この動作(ぼかしとフォーカスの)が「今追加された要素」のどこから来ているのか疑問に思うかもしれません!

$(function(){
 $("form input[type='text']").focus(function(){
       $(this).val("");
     });
 $("form input[type='text']").blur(function(){
     if(this.value==""){
        $(this).val("EMAIL ADDRESS_");
      }
  });
});

テキストタイプのすべての入力フィールドをターゲットにしていることに注意してください。したがって、可能であれば、それらの要素にクラス名を適用してより具体的にし、それをセレクターとして使用してみてください。または、要素のIDを使用することもできます。

$("form #yourElemntId").focus(function(){
   //do stuff
});
于 2012-04-20T19:05:05.300 に答える
0

あなたの解決策はほとんど良いです、あなたはちょうど間の引用符を逃していますsubmit

$("form input[type!='submit']").focus(function(){
     $(this).val("");
     });
$("form input[type!='submit']").blur(function(){
     if(this.value==""){
     $(this).val("EMAIL ADDRESS_");
  }
});
于 2012-06-07T15:26:05.260 に答える