CSSでフォーカス時に入力フィールドをクリアする方法
フォーカス時に入力フィールドをクリアするには
入力フィールドにフォーカスが当たった瞬間に、既存の値を自動的にクリアしたいケースはよくあります。例えば、あらかじめデフォルトのテキストを表示しておき、ユーザーがフィールドをクリックした時点でその値を消去するといった使い方です。
これを実現するには、HTMLのonfocus属性を使用し、フォーカスが当たったタイミングで入力値を空文字列に設定します。以下にコード例を示します。
コード例
<!DOCTYPE html> <html> <head> </head> <body> <h1>フォーカス時に入力フィールドをクリアする例</h1> <input type="text" onfocus="this.value=''" value="サンプルテキスト..."> <h2>上のフィールドをクリックすると値がクリアされます</h2> </body> </html>
実行結果
上記のコードを実行すると、次のような画面が表示されます。

初期状態では、入力フィールドに「サンプルテキスト...」という値が表示されています。
ここでフィールドをクリック(フォーカス)すると、onfocusイベントが発火し、this.value=''によって入力値が空に設定されます。その結果、フィールド内の値は次のようにクリアされます。

補足:placeholder属性を使う方法
なお、HTML5ではplaceholder属性を使う方法も一般的です。placeholderは入力欄に薄いグレーのヒントテキストを表示し、ユーザーが入力を始めると自動的に消えるため、単なるヒント表示を目的とする場合はこちらの方が推奨されます。
<input type="text" placeholder="サンプルテキスト...">
onfocusによるクリアは、実際の値として初期テキストを保持したい場合に有効な手法です。用途に応じて使い分けるとよいでしょう。
-
HTMLのinput type="date"の使い方を徹底解説!日付入力フィールドの実装方法
input type=dateとは?HTMLの<input type=date>は、日付を入力するためのフォームフィールドを作成できる要素です。年・月・日を選択形式で簡単に入力できるため、誕生日や登録日など、ユーザーから日付情報を受け取りたい場面で非常に便利です。この入力タイプを使用すると、ユーザーがフィールドをクリックした際にカレンダー形式のデートピッカーが表示され、視覚的で直感的な操作により日付を選択できます。手入力による書式のばらつきも防げるため、データの一貫性が保たれる点も大きなメリットです。ブラウザ対応状況注意:かつてはFirefoxとInternet Explorerが
-
HTMLのstep属性とは?入力フィールドで数値の間隔(ステップ)を指定する方法
HTMLのstep属性は、入力フィールドに入力できる数値の間隔(刻み幅)を定義するための属性です。例えば、step=5と指定すると、0、5、10、15、20のように5ずつ増減する数値のみが有効な入力値として認められます。 step属性は、min属性やmax属性と組み合わせて使用することで、有効な数値の範囲を細かく制御できます。これにより、ユーザーが誤った形式のデータを入力するのを防ぎ、フォーム送信時のバリデーションが自動的に行われます。 step属性の基本的な使い方 以下のコード例では、<input type=number>にstep=5を指定しています。この場合、有効な入力値は5