生年月日を入力するための最良のUIは何ですか?[閉まっている]


110

生年月日セレクターの最良の方法は何ですか?

  • 3つのテキスト入力(月/日/年)または1つのマスク入力。ユーザーはキーボードを使用する必要があります
  • 3つの選択ボックス。ユーザーはキーボードまたはマウスを使用できます。
  • 1つの素晴らしい日付ピッカー

私は最も使いやすく問題のない解決策を知りたいので、ユーザーはまったく混乱しません。


そのjQuery日付ピッカーはFirefoxでは機能するようですが、IE7では機能しません。
Richard Ev

1
多分彼らのサイトに問題があります。Datepickerは、IE6 / 7/8、FF、Opera、Safariで正常に動作します。多分もっと:)
Ionuț Staicu 2008

11
month / day / year率直にです。
TRiG 2012年

3
残念ながら、私は学校で小さな子供として月/日/年を教えられました。科学的には意味がありません。
Duncan Calvert 2013年

1
勝利のためのISO 8601!year / month / day
Qqwy

回答:


28

上級ユーザーにとっては、テキスト入力が最適です。ユーザーが日付形式を知っている場合は、非常に高速です。それほど熟練していないユーザーには、日付ピッカーの使用をお勧めします。通常、上級ユーザーと非上級ユーザーもいるので、テキスト入力と日付ピッカーの組み合わせをお勧めします。


116
ほとんどの日付ピッカーの問題は、30/40 /年以上前に戻るのが面倒なことです。
UnkwnTech 2008

3
今私は彼が提供したものを見たが、それは悪くないと思います。
UnkwnTech 2008

21
Unkwntechによって言及されているように、数年前に戻る必要があるため、日付ピッカーは、実際にはDOBに入るときにひどいユーザーエクスペリエンスです。さらに、日付時刻ピッカーは、月と週の構造に関連する特定の日付の場所の値を配置します。これは、DOBを選択するときに必要ありません。
Alex Czarto、2010

6
jQueryの日付ピッカーには、月と年のオプションドロップダウンメニューを表示するオプションがあり、誕生日をより速く選択できます。
カールG

1
以下は、iOSデバイスで数値キーボードを強制するHTML5正規表現を使用したマスクされたテキスト入力の例です。cde.boaterexam.com
Alex Czarto

161

「ユーザーがまったく混乱しないようにする」ことが目標の場合は、これが最良のオプションだと思います。

月、日、年の3つのドロップダウン

生年月日にはデートピッカーはお勧めしません。まず、年(クリック、クリック、クリック…)を参照し、次に月(さらにクリック)を参照して、グリッド上の小さな数字を見つけてクリックする必要があります。

日付ピッカーは、2月の第2週の旅行を計画している場合など、頭の上から正確な日付がわからない場合に役立ちます。


6
賛成:これはまさに私が与えようとしていた答えです。Datepickerは「金曜日だ」という状況には適していますが、生年月日には価値がありません。
スリム化

14
反対投票:ドロップダウンは、特にこの種のデータの場合、ユーザーにとって非常に迷惑です。Nielsenを参照してください:useit.com/alertbox/20001112.html
Mauricio Scheffer

5
@mauschそれが私が私の答えの前に「あなたの目標が「ユーザーがまったく混乱しないようにすること」であることを確認することであるなら」という前置きをしている理由ですFTA:「ドロップダウンメニューには利点があります...不愉快なものでも)、ユーザーはドロップダウンメニューに遭遇したときの対処方法を知っています。」
Patrick McElhaney、2008

1
@patrick、そうです、ドロップダウンは非常に標準的ですが、単純なテキストボックスは、紙のフォームがどのように見えるかに近いため、より自然なIMHOです。私の要点は、人々は「10/9/1975」をすべての繰り返しから彼らの脳に深くハードワイヤードしているということです、それで彼らにそれを書かせてください。
Mauricio Scheffer

24
10月9日生まれですか、それとも9月10日生まれですか。あいまいさを簡単なテキストボックスで解決する方法はありません。
Patrick McElhaney、2008

140

これは非常に古い質問ですが、特に登録フォームで生年月日を正しく入力することは非常に重要です。

私は誰もこれをグーグルアカウントのサインアップより上手にやっていないと思います:

Googleアカウントのサインアップ

最初に選択ボックスから月を選択し、日付と年を手動で入力します。シンプル。

検証が簡単です。ユーザーが正しく理解するのは簡単です。1900年から現在の年まで、選択ボックスで年をスクロールして戻す必要はありません。月の入力に基づいて「日」選択ボックスを更新する必要はありません。ウェブ上でうまく機能します。モバイルでうまく動作します。2014年10月1日など、すべてのロケールで機能します-それは10月1日ですか、1月10日ですか?今後、この誕生日ピッカー形式がもっと見られると思います。

日付ピッカーは、すべての面で不十分なソリューションです。非常に多くのクリック!私の意見では、日付ピッカーは、チケットの予約など、曜日を知ることが重要な場合にのみ役立ちます。

2016年2月6日更新:私は英国出身なので、月/日/年よりも日/月/年の形式に慣れています。ただし、カーソルを使用して月を選択するユーザーは、入力>選択ボックス>入力に行くよりも、選択ボックスを最初に持つ方がはるかに簡単だと思います。コメントの日付は2月6日ではなく6月2日です;)


9
なぜこれが一番の答えではないのですか?
スノーマン2015

3
これに追加したいのは、ドロップダウンが選択されているときに、ユーザーが月の数値を入力して値を選択できるようにすることです。これは、ほとんどのユーザーが1か月間タイピングに慣れていることなので、キーボードユーザーにとっては「そのまま動作」します。
Elezar

2
実際、考えれば考えるほど、月をドロップダウンにするメリットはまったくわかりません。それをテキストフィールドにするだけではどうですか?
Elezar

4
月と日の混乱を避けるために、主に。
Maciej Gurban 2015年

2
アメリカ以外の私達は通常月の前日を持っていますが。
jezmck 2016年

25

このJakob Nielsenの記事で述べたように、ユーザーによく知られているデータのドロップダウンリストは避けてください。

生年月日など、ユーザーによく知られているデータのメニュー。そのような情報は、ユーザーの指に組み込まれることが多く、メニューからそのようなオプションを選択する必要があるため、情報を入力するための標準的なパラダイムを破り、ユーザーの作業を増やすことさえできます。

理想的なソリューションは、おそらく次のようなものです。

  • 日、月、年の3つの個別のテキストボックスを提供します(適切にラベルが付けられます)
  • ユーザーのカルチャに従ってテキストボックスを並べ替えます。
  • 2桁の入力が想定されるように、日と月のテキストボックスのサイズを変更する必要があります。
  • 年のテキストボックスのサイズは、4桁の年と見なされるサイズにする必要があります。
  • ユーザーが2桁または4桁の年を入力できるようにします。2桁の年が1900であると仮定し、テキストボックスを更新して、このonBlur(または次の確認手順)を反映させます。
  • ユーザーが月番号または月名を入力できるようにします。

編集:以下は、DOBピッカーを実装する方法です。iOSデバイスで数字キーボードを強制するために、HTML5正規表現でマスクされたテキスト入力フィールド。

http://www.huntercourse.com/usa/texas/


DOBピッカーで変更するのは、ヒントではなくプレースホルダーテキストとして「MM」「DD」「YYYY」を配置することだけです。
Paul Pettengill、2014年

@Paulプレースホルダーテキストの使用には、使いやすさの課題があります。最初持っていましたが、これを読んだ後で削除することにしました:nngroup.com/articles/form-design-placeholders
Alex Czarto 2014年

@AlexCzarto素敵なピッカー!(ただし、ご存知のように、1970年2月31日のように入力すると、誤ったエラーメッセージが表示されます)
Thiago Duarte

2001年6月5日に生まれた場合は、DOBを「050601」と入力します。これは、1901年5月6日に解釈されます。テキストボックスがある場合は、ユーザーがMMDDの日付順を見つけて入力することを前提としています。適切な情報。月のドロップダウンを提供すると、ユーザーは月の順序が正しくないことに気づかされます。
thelem

月のテキストボックスのサイズを2桁にした場合、ユーザーが月番号または月名を入力できるようにするにはどうすればよいですか。
Jin Wang

11

人は特定の生年月日を入力するのに慣れているため、生年月日は他の日付とは異なります。例のテキストボックスには、明確素早く入力するのは簡単です:

 _______
|_______| (example: 31/3/1970)

これは1/1/1970や20/07/70などの柔軟なフォーマットをサポートするはずです。

異なる日付の規則(たとえば、米国と英国)で異なる文化をサポートする必要がある場合、この例に注意しない人にとっては、これはエラーが発生しやすくなる可能性があります。これを回避するには
、月の選択リスト、および日付と年のテキストボックスを使用できます。

 _________   __   ____
|March  |V| |__| |____|

これにより、日と月の順序のあいまいさがなくなりますが、使用するのが少し不格好です。


5

Datejsを見てください

Datejsは、オープンソースのJavaScript日付ライブラリです。

包括的でありながら、シンプルでステルスで高速です。Datejsはすべての試験に合格し、ストライキの準備ができています。Datejsは文字列を解析するだけでなく、文字列を2つにきれいにスライスします。


6
プラグインは見栄えは良いですが、単純な問題の25KBは少し多そうです...
Noel Abrahams

ノエルに同意しない。日付は、特にタイムゾーンや文化を超えてプログラマーが通常遭遇する最も複雑なものです(これは、Datejsが設計されたものです)。
Rustavore 2013

1
@Gitninja-それはちょっとしたことです。彼女は日付(これは非常に複雑です)については多すぎるとは言いませんでしたが、「単純な問題」については、「生年月日」の問題だと思います。25KBがなくてもソリューションを実現できるJavaScriptライブラリとメソッドが大量にあるので、私は同意します。
ケリージョーンズ

フォームに25kbを追加すると、ドロップダウンメニューを使用する必要がないことになります
ladieu

4

設計ではなく解決の圧倒的な多さに悩んでいます。OPは、「最も使いやすく問題のないソリューションを知りたいので、ユーザーを混乱させることはありません」と述べました。したがって、jQuery、JavaScript、C#、FORTRANのいずれであっても、デザインは重要です。ここで重要なのはUIデザインではなく、UXデザインです。(正しくない、非論理的な構成「UX / UI」を回避するための別の嘆願)。

テキスト入力を使用します。日、月、年(または月、日、年)というラベルの付いた3つのボックスを使用します。ユーザーに日付を入力させます。同じインタラクションでテキストとリストを混在させることは悪いことです(たとえば、年にはテキスト入力を使用せず、月と日には日付ピッカーまたはリストを使用してください)。

フィールド内の形式のヒントを使用する単一のテキストフィールドを使用します。たとえば、[日/月/年]形式を厳密に要求しないでください。ユーザーが月を期待する場所にJUNと入力した場合は、バックエンドで6月を使用します。ユーザーが月を期待する場所に6と入力した場合、バックエンドで6月を使用します。ユーザーが月を期待する場所に06と入力した場合、バックエンドで6月を使用します。

OccamのRazorをガイドとして使用します(ほとんどの場合、データは十分正確です)。認知摩擦を減らします(ユーザーに考えさせないでください)。


3つの個別のテキストボックスを使用することは、携帯電話で数字キーパッドを表示するためにそれぞれをクリックする必要があることを意味します。あなたの考えの残りの部分は良いです-これはすべてテキストボックスであるべきです。
PKHunter 2017年


3

ユーザーと一緒にdatePickerを試しましたが、UIが悪いことがわかりました。私が最終的に彼らのリクエストに基づいているのは、彼らがすぐに[日] [月] [年] :(


2

両方を入れて、それぞれをもう一方に更新します。ユーザーが日付ピッカーから日付を選択した場合、テキストフィールドの小さな誤クリックを修正したり、日付ピッカーのテキストフィールドに入力した選択肢を視覚化したりするのは簡単です。


私は両方を入れることはできません、デザインに適合しません:)私はそれらの1つだけが必要です。
Ionuț Staicu 2008

日付ピッカーにはJavaScriptが必要なので、JavaScriptを使用して、必要な場合にのみ表示します。絶対位置に設定して、他のすべての要素の上に浮かせるようにします。
いくつかの

通常は、テキストフィールドを配置し、その横に日付ピッカーをポップアップするアイコンを添付するだけです。
Tuminoid 2008

2

3つすべてをテストして、パフォーマンスが最も良いものを選んでみませんか?これは、Googleウェブサイトオプティマイザーのテストに適した候補のようです。

所有しているユーザーのタイプ、または実行しているサイトのタイプによって、ソリューションが「標準」とは異なるものである必要がある場合があります。


1

私は通常両方を使用します-正しい形式でテキストフィールドに入力する日付ピッカー。上級ユーザーはテキストフィールドを直接編集でき、マウスを使用するユーザーは日付ピッカーを使用して選択できます。

スペースが気になる場合は、通常、テキストフィールドの横に小さなカレンダーアイコンが表示されています。カレンダーアイコンをクリックすると、日付ピッカーがポップアップとして表示されます。

また、正しい形式を示すテキストをテキストフィールドに事前に入力することをお勧めします(例: "DD / MM / YYYY")。ユーザーがテキストフィールドにフォーカスすると、そのテキストが消えて自分で入力できるようになります。


1

ここの高齢者の一人で、月末に生まれたので、私は誕生日のドロップダウンメニューに不満を感じています。私は通常、2つのドロップダウンメニューを下にスクロールする必要がありますが、これは厄介です。私はむしろそれをタイプインしたいです。

ドロップダウンメニューを受け入れるか入力できるように設計されたコントロールがあり、両方が機能することを明確にすることができれば、それはすばらしいことです。


これは実際にほとんどのブラウザため問題、ドロップダウンウィジェットがフォーカスされ、正しい値に迅速に取得するためのサポートタイピングではありません
thepeer

@thepeer:しかし、彼らはそのようには見えません。ジョン・ノーマン(「日常のデザイン」)がタイピングのアフォーダンスと呼んだものはありません。
David Thornley、2010年

1

日付ピッカーを使用するかどうかは、日付がどのくらい前かによって異なります。それらが通常今月のものであり、数か月以上前のものではなく、Javascriptが存在することがわかっている場合は、日付ピッカーが適しています。日付が最近ではない場合(たとえば、誕生日)は、これが最良の選択肢だと思います。

http://img411.imageshack.us/img411/6328/mockupg.png

これは、年がドロップダウンではなくテキストボックスであるという点で、Patrick McElhaneyの回答とは異なります。数百要素の長さのドロップダウンボックスから数を選択することは、ユーザーにとって非常に煩わしいことです。


1
その日がドロップダウンボックスである必要はありません。1から31までの数値を入力して検証するのは簡単です。
Alex Czarto、2010

1

日付ピッカーは、誕生日を入力するための移動をもっと複雑にするだけだと思います。

既に述べたように、ユーザーにとっては、日と月のドロップリストと年のテキストボックスの組み合わせが最も効率的です。この方法で誕生日を入力するのに10秒もかかりません。これは日付ピッカーよりもはるかに高速です。タブキー(すべてのユーザーがフォームの入力に使用する方法を学ぶ必要がある)のおかげで、1つのフォームからすばやく移動できます。次の要素への要素。

少なくともMacintosh(Windowsについては知りません)では、キーボードを使用して選択ボックス内の日付にアクセスすることもできます。タブキーのおかげで、フォーム要素にフォーカスが移り、矢印キーを押してドロップダウンしますリスト、たとえば1967と入力すると、瞬く間にそこに着きます…


0

海外のサイトでは、日付ピッカー(およびフォールバックとしてフォーマットが文書化された入力ボックス)を好みます。

日付の形式はさまざまで、慣れていると読みにくいことがあります。ISO 8601に慣れていない人が多すぎます。:-(


0

各フィールドにドロップダウンメニューを使用して、それぞれに日、月、年のラベルを付けることをお勧めします。日付ピッカーも役立つかもしれませんが、ユーザーがJavaScriptを有効にしていない場合は機能しません。


はJavaScriptで一杯のサイトなので、JSなしでは何も動作することはありません。したがって、この種の懸念は今では役に立たない:)
Ionuț Staicu

視覚障害のあるユーザーがあなたのウェブサイトを使用したい場合はどうなりますか?
フィリップモートン

1
月の名前と4桁の年の名前を使用する場合、値のセット間で重複がないため、自己ラベルになります。
Dave Sherohman、2008

1
反対投票:ドロップダウンは、特にこの種のデータの場合、ユーザーにとって非常に迷惑です。Nielsenを参照してください:useit.com/alertbox/20001112.html
Mauricio Scheffer

0

私はDatePickerを取ります。これは、エキスパートユーザーが手動で入力できるようにし、初心者が簡単に日付を入力できるようにする唯一のコンポーネントです。

タブを押して入力するのではなく、ボタンをクリックすると、カレンダーがポップアップしません。そのため、エキスパートユーザーがそれに悩まされることはありません。


0

jQuery UI DatePickerを誰が使用しませんか?

ほぼすべてのニーズに合わせて構成できます。唯一の欠点は、jQuery UIに含める場合、フットプリントがやや大きいことです。

更新

一部のファイルサイズは変更されているように見えるため、以下で更新します。これらの数値は、それらが最後に更新されたときのみ正しいことを覚えておいてください。その後、状況が変わった可能性があります。

  • CSSテーマ-23kb
  • jQuery UI-71kb縮小
  • DatePicker-38kb
  • さらに、いくつかの画像(翌月/前月、私はかなり確信している)

しかし、それはそれほど悪くない...


心配する必要はありません。CSSはほとんどチョップできます。私は最良の方法が何であるかを知りたかっただけです;)
Ionuț Staicu

68k .... 28k cssテーマと同様、それは間違っています...
redsquare

@redsquareは、私がこれを投稿してからおそらく変更されています。私の回答を自由に編集してください。私にも知らせてくれてありがとう。
アレックス

日付ピッカーの場合、カスタムUI UIの合計は38kに縮小され、gzipを使用するとかなり小さくなります
redsquare

生年月日にはjQuery datepickerを使用しないことを強くお勧めします。使ってみたところ、お客様から苦情が多かったです。まず、2年以上前に戻るのは難しすぎました。(30年はデフォルト設定で360クリックが必要です)。年の選択を追加すると、多くのユーザーは最初に日をクリックするだけで、年を選択せず​​に日付ピッカーを非表示にします。そして、ユーザーは戻って年のみを変更し、日付をクリックせず、年の変更を登録しませんでした。ひどい経験。
Andrei

0

JQueryUIの日時ピッカーは、プロユーザーがテキストボックスに独自の値を入力したり、ピッカーから選択したりできるため、最適なオプションです。

ピッカーを設定して誕生日や将来の日付を簡単に入力できるようにするのも簡単です。

$( '#datepicker')。datepicker({
    changeMonth:true、
    changeYear:true、
    yearRange: '-100:+50'
});

これは次のようなものを示しています(新しいユーザーとして写真を投稿できません:http : //klalex.com/wp-content/uploads/2009/07/picture-1.png

yearRangeは、DateTime.Now.Year-100からDateTime.Now.Year + 50までの日付を示します

これを見つけました:http : //klalex.com/2009/07/jquery-ui-datepicker-for-birth-date-input/


0

JSFiddleのプラグインを発見しました。2つの可能な選択肢:1つの入力または3つの入力ですが、1つの入力のように見えます...(次の入力に移動するには、Tabキーを使用します)

[リンク] http://jsfiddle.net/davidelrizzo/c8ASE/面白そうですね!


3
ここにリンクがあります:jsfiddle.net/davidelrizzo/c8ASE
Laurent B


0

プラグインcxcalendarを使用できます。他の日付ピッカーのように見えます。ただし、年月のタイトルをクリックすると、selectで年と月を選択できます。

ここに画像の説明を入力してください


これには、上で説明したすべてのUXの課題があります。
PKHunter 2017年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.