クリアボタン付きテキストエリアを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

テキストエリア

クリアボタン付きテキストエリアを作る方法

クリアボタン付きテキストエリアを作る方法を紹介します。このサンプルでは、HTML・CSS・JavaScriptを使用し、入力中の文章をボタンひとつで削除できるテキストエリアを作成します。長文を入力したあとでも、クリアボタンを押すだけですべての入力内容をまとめて消去できるため、再入力したい場合や入力ミスをやり直したい場合に便利です。

お問い合わせフォーム、アンケート、メモ機能、コメント入力、管理画面など、文章を入力するフォームで活用できます。入力内容を一文字ずつ削除する必要がなく、不要になった内容をすぐに消去できるため、入力作業を快適に行えます。クリア後はテキストエリアへフォーカスが戻るため、そのまま続けて入力を開始できます。

タイトル、説明文、ラベル、プレースホルダー、ボタンの文字はHTMLから変更でき、CSSでは横幅、高さ、色、余白、角丸、ボタンデザインなどを自由に調整できます。JavaScriptの処理を書き換えることで確認ダイアログを追加したり、入力内容に応じた処理を組み込んだりすることもできます。初心者でも導入しやすい実用的なサンプルです。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

お問い合わせ内容

クリアボタンを押すと入力内容を削除できます。

テキストエリアへ文字を入力して「入力内容をクリア」を押すと、入力内容がすべて削除されます。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマートフォン対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>クリアボタン付きテキストエリア</title>

  <!-- CSSファイル -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- 入力フォーム全体 -->
  <div class="textarea-clear-button_wrap">

    <!-- タイトル -->
    <div class="textarea-clear-button_title">
      お問い合わせ内容
    </div>

    <!-- 説明文 -->
    <p class="textarea-clear-button_text">
      クリアボタンを押すと入力内容を削除できます。
    </p>

    <!-- 入力項目 -->
    <div class="textarea-clear-button_group">

      <!-- ラベル -->
      <label
        class="textarea-clear-button_label"
        for="message">
        内容
      </label>

      <!-- テキストエリア -->
      <textarea
        id="message"
        name="message"
        class="textarea-clear-button_input"
        placeholder="お問い合わせ内容を入力してください。"></textarea>

    </div>

    <!-- クリアボタン表示エリア -->
    <div class="textarea-clear-button_actions">

      <!-- 入力内容を削除するボタン -->
      <button
        type="button"
        id="clear-button"
        class="textarea-clear-button_button">
        入力内容をクリア
      </button>

    </div>

  </div>

  <!-- JavaScriptファイル -->
  <script src="script.js"></script>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLではテキストエリアとクリアボタンを配置し、CSSではフォーム全体やボタンのデザインを設定します。JavaScriptではクリアボタンをクリックしたときに入力内容を削除し、削除後は自動でテキストエリアへフォーカスを戻す処理を行います。シンプルな構成のため、初心者でも仕組みを理解しながら導入できます。

sample/
├── index.html
├── style.css
└── script.js

各ファイルの役割
index.htmlはフォーム全体を構成するファイルです。タイトル、説明文、ラベル、プレースホルダー、クリアボタンの文字を変更できます。

style.cssはフォームやテキストエリア、クリアボタンのデザインを設定するファイルです。横幅、高さ、余白、背景色、文字色、角丸、ボタンカラーなどを変更できます。

script.jsはクリアボタンを押したときの処理を記述するファイルです。入力内容を削除し、その後テキストエリアへカーソルを戻す動作を行います。

設置方法・使い方
sampleフォルダへindex.html、style.css、script.jsを配置します。3つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。テキストエリアへ文字を入力し、「入力内容をクリア」ボタンを押すと入力内容が削除され、続けて新しい内容を入力できます。

カスタマイズできる内容
index.htmlではタイトル、説明文、ラベル、プレースホルダー、クリアボタンの文字を変更できます。用途に合わせてお問い合わせフォーム、メモ欄、コメント欄などへ変更できます。

style.cssではフォーム全体の横幅、余白、背景色、テキストエリアの高さ、文字サイズ、角丸、ボタンの色やサイズなどを変更できます。

script.jsではクリアボタンを押したときの処理を書き換えることで、確認ダイアログを表示したり、削除前後に独自の処理を追加したりできます。

数値調整
style.css
max-width:700px;
フォーム全体の最大横幅です。値を大きくすると横に広がり、小さくするとコンパクトになります。

padding:32px;
フォーム全体の内側余白です。値を大きくすると内容と枠線の間隔が広がり、小さくすると詰まった表示になります。

min-height:180px;
テキストエリアの初期高さです。値を大きくすると最初から高く表示され、小さくすると低く表示されます。

padding:14px 16px;
テキストエリアの内側余白です。上下・左右の値を変更すると文字と枠線の間隔が変わります。

border-radius:10px;
テキストエリアとボタンの角丸です。値を大きくすると丸みが強くなり、小さくすると角ばった表示になります。

transition:0.3s;
色や影が切り替わる時間です。値を大きくするとゆっくり、小さくすると速く切り替わります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%max-width:700pxにより画面幅に応じてフォーム全体が縮小されます。また、640px以下ではmedia queryによって余白を小さくし、クリアボタンを横幅いっぱいへ表示するため、スマートフォン・タブレット・PCで快適に利用できます。


こちらもおすすめ


コメント