私は2つの入力を持っています:
<input type="text" value="username">
<input type="password" value="password">
特定の入力にいる場合、デフォルト値を(初めて)削除したい。次のように JavaScript で属性を追加しました。
onfocus="this.value='';"
しかし、これはそれに焦点を合わせるたびに入力をクリアします。最初に入力をクリアする方法は?
私は2つの入力を持っています:
<input type="text" value="username">
<input type="password" value="password">
特定の入力にいる場合、デフォルト値を(初めて)削除したい。次のように JavaScript で属性を追加しました。
onfocus="this.value='';"
しかし、これはそれに焦点を合わせるたびに入力をクリアします。最初に入力をクリアする方法は?
必要なものはプレースホルダーと呼ばれます:自動的に削除されるデフォルト値です。
プレースホルダーがIE9 ユーザーに表示されないことを受け入れることができる場合は、次のようにします。
<input type="text" placeholder="username">
IE9 との互換性が必要な場合は、多くのポリフィルの 1 つを使用してください。
たとえば、入力でプレースホルダーを使用するだけです
<input type="text" placeholder="username">
すべての入力に名前を付けるとよいので、次のようにします。
<input type="text" name="username" placeholder="username">
試す
onfocus="if(this.flag == undefined){ this.flag = true; this.value=''; }"
jQuery を使用している場合は、これを使用できます。
<input type="text" name="username" value="username" />
Javascript:
$('input[name=username]').one('focus', function() {
$(this).val('');
});
.one()
バインドされたイベントを 1 回だけ発生させます
<input type="text" value="username" id="username" title="username" />
$( '#username' ).bind({
'focus': function( event ) {
$( this ).val( '' );
},
'blur': function( event ) {
var obj = $( this ),
title = obj.attr( 'title' );
obj.val( title );
}
})