web-dev-qa-db-ja.com

自動入力が信頼できない場合、自動入力の代わりにJavaScript Cookieを使用する必要がありますか?

自動入力は、アカウントを持っていないユーザーに適したオプションです。しかし、ブラウザがオートフィル情報をどのように実装するかを決定する方法はさまざまです。もちろん驚かない。 Chromeでは、nameclassidの値によって追跡されます。 HTMLフォームを従来のmethod="post"の方法(ajaxなし)で送信する必要がありますが、正直なところ、Safariでどのように機能するかはまだわかりません。 Firefoxはかなり単純明快で、おそらく最も洗練されています。とにかく、問題の十分な説明。オートフィルではなくオートフィルについてユーザーから多くの苦情を受けたので、Cookieを使用して独自のソリューションを実装する必要があるかと思いました。

  1. ユーザーがフォームを送信します。
  2. 彼が使用するすべての情報が収集され、Cookieに保存されます
  3. 彼はページに戻り、最初のinputに自分の名前の最初の文字を入力します。それがCookieの名前の最初の文字と一致する場合、他のすべての入力は自動的に入力されます。

できます。しかし、おそらく* J * oeは* J * aneのコンピューター上にあります。 Joeの最初のキーを押すと、最初の文字が同じであるため、Janeのすべての情報がフォームに入力されます。これはおそらくジョーを混乱させ、ジョーを実質的に苛立たせます。

だから私が持っているUXの質問は、ジョーがタイプし始めたときに、すぐに彼にそのような種類のJavaScript確認ボックスを与えることはユーザーフレンドリーですか?

+-----------------------------------------------------+
|                                                     |
|       Use previously entered information?           |
|                                                     |
|       Name: Jane Doe                                |
|       Email: [email protected]                     |
|       Account Executive: Bill Bailey                |
|                                                     |
|                                                     |
|                            +--------+  +--------+   |
|                            | Cancel |  |   OK   |   |
|                            +--------+  +--------+   |
+-----------------------------------------------------+

(私はちょっとしたアートワークをやりたいと思っただけです)

または、これまでに実装されたようなものを見たことがないので、技術的な知識がなく、ポップアップ表示されるボックスが「危険」であることを知っているユーザーを驚かせるのは、直感的ではありませんか?

自動入力が必要だがアカウントを作成しないユーザー向けのソリューションは何ですか。ユーザーの数は少ないので、「それに対処し、アカウントを作成する」のようなものは、実際にはオプションではありません。

8
1252748

「クリックモード」から「タイピングモード」に切り替えた後は、誰かに割り込まないようにします。

  • 一部の人々はタッチ入力せず、ボックスに気付く前にしばらく入力を続け、当然のことながらイライラします。
  • タッチ入力を行わない場合でも、すばやくタッチ入力する場合でも、[c](キャンセルの場合)または[o](OKの場合)の誰かがリスクを負う可能性があります。彼女の名前は意図せずにこれらのオプションの1つを選択していますか?それはさらに極端な迷惑になります。

中断しようとするなら、それは...

  1. オプション#1:何かを入力する前。 ...ユーザーが最初のテキスト入力フィールドをクリックした直後(または可能であればその前)を意味します。 (はい、それはあなたのシナリオでは 'J'ane'sと同じくらい簡単に' J'oeが 'A'nna'sの情報をロードすることにつながるかもしれませんが、その矛盾は関係なくそこにあります。)
  2. オプション#2:ユーザーが間違いなく入力していない他の時期。 ...つまり、JClaussFTWの提案を使用するには、[Tab]または矢印キーを使用して、名フィールドから姓フィールド(または姓フィールドから次のフィールド)に移動することを禁止する必要があります。次に、そのフィールドへのクリックを検出したとき(つまり、ユーザーがマウスに確実に手を置いたとき)に割り込みます。ただし、キーボードのフィールドジャンプ機能を壊すことに異論があると思います。
2
A.M.

他の回答ですでに述べたように、タイプし始めた後、マウス操作に切り替えるのは面倒です。キーボードを見ながらタイプする人を想像してみてください。ダイアログウィンドウがあるため、もう一度入力する必要はありません。

これに基づいて、そのような問題に対する私の最善の策は、ブラウザがアドレスバーで行うように、いくつかの控えめなオートコンプリート機能を使用することです。

たとえば、ユーザーは名前の入力を開始します... "J"。 Jで最初に保存された名前は何ですか? 「ジェーン」だとしましょう。 「ane」が可能性として表示されます。

Autocomplete input

ここで、ユーザーが Tab、「ジェーン」はオートコンプリートされ、彼のデータはJavaScriptコードによってオートロードされる場合があります。ユーザーが「o」と入力した場合は、「Joe」、「John」、またはcookie/localStorageに保存されているその他すべてをオートコンプリートできるようにします。

これがあなたやあなたのチームに少し悪いと感じたら、多分 jQuery UI Autocomplete のようなプラグインを見てください。これにより、より多くのオプションを表示したり、矢印のナビゲーションを表示したりできます。

2
gustavohenke