web-dev-qa-db-ja.com

ユーザーがEnterキーを押したときのオートコンプリートの処理

データベースのリストを使用した簡単なJQuery Autocompleteがあります。私の質問は、技術的な性質のものではなく、使いやすさについてです。

検索キーが不完全なときにユーザーがEnterキーを押すと、どのように応答しますか。

例えば.

ABC ABDとACEの3つのアイテムがあります。

ABと入力して2つの項目が表示されましたが、マウスを使用してリストから特定の項目を選択するのではなくEnterキーを押しましたと入力しました。

通常、例外がスローされます。応答なしで処理するか、「顧客が見つかりませんでした」というフィードバックを彼に与えることを考えています。

17
Ju-chan

入力時に完了しないでください、これは、短い文字列を検索したい場合、人々を狂わせるでしょう!

あなたができることは、それらの文字列が結果を生成するかどうかを表示することですオンザフライ

多くのWebサイトでは、入力中に選択したユーザー名が利用可能かどうかを確認します。

  • 編集:いくつかの選択を提供でき、その後Enterでそれを選択できますが、最初のエントリを自動選択することはできません入る。
17
K..

リストから排他的に選択する場合は、最初の項目を自動選択できます。その後 Enter ユーザーが選択を変更していない場合、このアイテムが選択されます。
enter image description here

11

答えはあなたのウィジェットと検索がどのように機能するかに依存すると思います:

  1. 部分的な結果を検索できる場合は、ユーザーが入力した部分文字列を検索したいだけなので、フィールドを自動的にオートコンプリートしないでください(上記の場合、ABで始まるすべてが必要でした)。このため、おそらくコンボボックススタイルのウィジェットがあり、任意の文字列を入力したり、リストから選択したりできます。

  2. 検索が正確である場合(私はあなたの例ではこれが真実だと思います)、しかし、すでに存在しないことがわかっているものを検索する必要はないので、最初の要素を選択する必要があります。これはおそらく、提供された要素からのみ選択できるselectboxスタイルのウィジェットがあることを意味します。ただし、オートコンプリートフィールドを使用して実際に要素を選択するだけでは、ユーザーはABで始まる要素を直接検索できないため、検索のしくみを再考する必要があります。これはあなたが望む値ではないかもしれません。

10
SztupY