2012-04-20 5 views
1

入力テキストフィールドからぼかしイベントを使用すると、すべてのページが表示されますが、送信ボタンも表示されます。どのようにぼかしイベントが送信ボタンを含まないようにするには?私は私の前の質問からこのコードを取るが、それはwork.Blurイベントがまだボタンぼかしイベントにも送信ボタンが含まれています/ jquery

を提出含まれていません

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

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

とスクリプト:ここ

は、HTMLコードです

+1

間の引用符が欠落している、ほとんど良いです'placeholder'属性はそのテキストを指定します。 – jasonmerino

答えて

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 
}); 
+0

これは私が必要とする答え、tnxです。 – user1288338

+0

@ user1288338:それはあなたを助けてくれてうれしいです。 – Shyju

+0

私はこのソリューションは、あまりにも良いと思います。 するvar SETTIMER = {タイマー:ヌル} $( '入力、選択')ぼかし(関数(){ setTimer.timer = setTimeoutメソッド(関数(){ $(」。 #text ').val(' text '); }、200); }); $( '入力を選択')(関数(){ setTimer.timer = setTimeoutメソッド(関数(){ $( '#テキスト')ヴァル( '')フォーカス; }、200); }); $( "#submit")。(function(){ clearTimeout(setTimer.timer); // do something }); – user1288338

0

あなたのソリューションは、あなたがやっているすべてのテキストフィールドにプレースホルダを更新している、あなたはHTML5を使用している場合は、あなたが使用する必要がある場合は、あなただけのsubmit

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

tnx、私はあなたに答えていただきありがとうございます – user1288338

関連する問題