ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript を使用してフォームのオートコンプリートを実装する

JavaScript を使用してフォームのオートコンプリートを実装する

王林
王林オリジナル
2023-08-08 08:36:161570ブラウズ

JavaScript を使用してフォームのオートコンプリートを実装する

JavaScript を使用してフォームのオートコンプリート機能を実装する

インターネットの発展に伴い、Web フォームは私たちの日常生活において非常に重要な役割を果たしています。ユーザーエクスペリエンスを向上させ、ユーザーにさらなる利便性を提供するために、フォームのオートコンプリート機能は不可欠な機能となっています。この記事では、JavaScript を使用してフォームのオートコンプリート機能を実装する方法と、対応するコード例を紹介します。

まず、オートコンプリート オプションを含むデータベースまたはデータ ソースが必要です。これらのオプションは、自分で事前に準備することも、サーバーから取得することもできます。この記事では、データ ソースとして単純な配列を使用します。例は次のとおりです。

var autofillOptions = ["apple", "banana", "cherry", "durian", "elderberry", "fig", "grape", "honeydew", "imbe", "jackfruit"];

次に、ユーザーが入力したフォーム要素のイベント リスナーを追加する必要があります。ユーザーが入力を開始すると、オートコンプリート オプションが表示されます。コード例は次のとおりです。

var inputElement = document.getElementById("input"); // 获取表单元素

inputElement.addEventListener("input", function() {
  var inputText = inputElement.value; // 获取用户输入的文本
  var autocompleteList = document.getElementById("autocomplete-list"); // 获取自动补全选项列表元素

  // 清空自动补全选项列表
  autocompleteList.innerHTML = "";

  // 遍历数据源,匹配用户输入的文本
  autofillOptions.forEach(function(option) {
    if (option.startsWith(inputText)) {
      // 创建一个自动补全选项项
      var optionElement = document.createElement("div");
      optionElement.textContent = option;

      // 添加点击事件监听器,将选项填入表单元素
      optionElement.addEventListener("click", function() {
        inputElement.value = option;
        autocompleteList.innerHTML = "";
      });

      // 将选项添加到自动补全选项列表中
      autocompleteList.appendChild(optionElement);
    }
  });
});

上記のコードでは、まずユーザーが入力したフォーム要素を取得し、その要素に input イベント リスナーを追加します。ユーザーが入力するたびに、イベント リスナーがトリガーされ、ユーザーが入力したテキストに基づいてオートコンプリート オプションを動的に生成します。

次に、データ ソース内の各オプションを繰り返し処理し、startsWith() メソッドを使用して、オプションがユーザーが入力したテキストで始まるかどうかを判断します。その場合は、オプション テキストを含む div 要素を作成し、その要素にクリック イベント リスナーを追加します。このリスナーはフォーム要素にオプションを設定し、ユーザーがオプションをクリックするとオートコンプリート オプション リストをクリアします。

最後に、生成されたオートコンプリート オプションを autocomplete-list という要素に追加します。この要素を非表示のドロップダウン リストとして定義することも、スタイルを使用して非表示にすることもできます。

要約すると、JavaScript を使用してフォームのオートコンプリート機能を実装すると、ユーザー エクスペリエンスが向上し、ユーザーがフォームのコンテンツをより速く入力できるようになります。この機能は、フォーム要素の入力イベントをリッスンし、オートコンプリート オプションを動的に生成し、ユーザーがオプションをクリックしたときにフォーム要素に入力することで簡単に実装できます。この記事で提供されているコード例が役立つことを願っています。

以上がJavaScript を使用してフォームのオートコンプリートを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。