2012-03-08 4 views
0

jqueryコードを次のようにしようとしましたが、実際には動作しません。どのように修正できますか?jQueryで入力フィールドのプレースホルダテキストをスワップ

デモ:http://jsfiddle.net/pjqcf/

<input type="text" value="Some descriptive text...">​ 

$('input[type=text]').focus(function() { 
    if ($(this).val() == $(this).attr('defaultValue')) { 
     $(this).val(''); 
    } 
}); 
$('input[type=text]').blur(function() { 
    if ($(this).val() == '') { 
     $(this).val($(this).attr('defaultValue')); 
    } 
});​ 

答えて

3

あなたはあなたの入力の "はdefaultValue" 属性を設定していません。 「はdefaultValueを」「いくつかの説明のテキスト..」に設定し、それはあなたのマークアップにはdefaultValueを追加した後

<input type="text" value="Some descriptive text..." defaultValue="Some descriptive text...">​ 
0

作品罰金を動作するはずです。 、変更下記参照

<input type="text" 
    value="Some descriptive text..." 
    defaultValue="Some descriptive text..."> 

DEMO

0

変更 "はdefaultValue" "値" へ。または、defaultValue属性を入力に追加してください

+0

"defaultValue"を "value"に変更しますが、正しく機能しません。http://jsfiddle.net/pjqcf/2/ –

+0

はい、うまくいきません。あなたはあなたの入力にdefaulValue attrを追加するか、または検証を渡す場合に備えてjQuery.data()を使用することができます。それとも他にもあるかもしれない、それはむしろ些細なことだ – user907860

関連する問題