入力内容をリアルタイム表示するテキストボックスを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

テキストボックス

入力内容をリアルタイム表示するテキストボックスを作る方法

入力内容をリアルタイム表示するテキストボックスを作る方法を紹介します。テキストボックスへ入力した文字を、入力と同時に別の表示エリアへ反映できるサンプルです。HTML・CSS・JavaScriptだけで実装できるため、ライブラリを使用せずに導入できます。

入力内容をその場で確認したいフォームや、プロフィール編集画面、お問い合わせフォーム、チャット入力欄、管理画面などで活用できます。文字を入力するたびに表示内容が更新されるため、ユーザーは送信前に内容を確認しながら入力できます。入力欄と表示エリアのレイアウトや色、文字サイズなどはCSSで自由に変更できるため、サイトデザインにも合わせやすい構成です。

デモでは、テキストボックスへ入力した内容がリアルタイムで下のプレビューエリアへ表示されます。文字を削除すると表示も同時に更新されるため、JavaScriptによるリアルタイム連携の基本的な実装方法を確認できます。初心者でも仕組みを理解しやすく、Webフォームや管理画面などへ応用しやすいサンプルコードです。

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

デモ

リアルタイム入力表示

テキストボックスへ入力すると下へリアルタイム表示されます。

入力内容がここへ表示されます。

テキストボックスへ文字を入力すると、入力内容が下のプレビューエリアへリアルタイムで表示されます。

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

<!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="textbox-live-preview_wrap">

    <!-- タイトル -->
    <div class="textbox-live-preview_title">
      リアルタイム入力表示
    </div>

    <!-- 説明文 -->
    <p class="textbox-live-preview_text">
      テキストボックスへ入力すると、下の表示エリアへリアルタイムで反映されます。
    </p>

    <!-- テキストボックスのラベル -->
    <label
      class="textbox-live-preview_label"
      for="live-preview-input">
      入力してください
    </label>

    <!-- 入力用テキストボックス -->
    <input
      class="textbox-live-preview_input"
      id="live-preview-input"
      name="live-preview-input"
      type="text"
      placeholder="ここへ入力">

    <!-- 入力内容を表示するエリア -->
    <div
      class="textbox-live-preview_preview"
      id="live-preview-output"
      aria-live="polite">
      入力内容がここへ表示されます。
    </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フォルダ内の3ファイルを同じ階層へ配置してください。配置後はsample/index.htmlをブラウザで開くだけで利用できます。テキストボックスへ文字を入力すると、入力内容が下の表示エリアへリアルタイムで反映されます。

カスタマイズできる内容
index.htmlではタイトルや説明文、ラベル、プレースホルダー、初期メッセージを変更できます。style.cssでは背景色、文字色、枠線、余白、角丸、文字サイズなどを自由に変更できます。script.jsでは表示先の要素や初期表示メッセージ、リアルタイム表示の対象となる入力欄を変更できます。

数値調整
style.cssのmax-width:700px;を変更するとフォーム全体の横幅を調整できます。padding:32px;を変更すると内側余白が変わります。border-radius:18px;を変更すると角丸の大きさを調整できます。min-height:64px;を変更すると表示エリアの高さが変わります。transition:border-color 0.3s ease;の0.3秒は枠線色が切り替わる時間を表し、値を大きくするとゆっくり、小さくすると速く切り替わります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssではwidth:100%max-widthを利用して画面幅に応じてフォームサイズを自動調整しています。また、640px以下ではメディアクエリで余白を調整しているため、スマートフォン・タブレット・PCでも見やすく快適に利用できます。


こちらもおすすめ


コメント