Вот именно это я и пытаюсь учтить. Переключите сайт на ангийский язык. и вам будут
предлагаться ангийсике варианты...
24,03,14 - все три цыфры могут быть годами... в принципе все эти варинты можно вывести пользователю, начиная с самого правдоподобного и учитывая. языковую направленность сайта...
забавные вещи...
в прошлом моем топике, меня тоже пытались учить русскому языку люди, которые в этих своих обучающих комментах допускали ошибки. здесь опять такая ситуация. мне кажется это двойной позор. Ладно я незнаю правил.
Но когда ты тычешь этими правилами другого, будь любезен...
И еще в статье ошибок быть не должно, в каметнах мне кажеться можно это легко себе позволить.. — тут неформальное общение...
я бы ещё понял, если бы поправлял какой-нибудь преподаватель русского языка с тридцатилетним стажем, который ощущает почти физическую боль, когда слышит или читает неграмотную речь, а так ведь выпендрёжь один, особенно если в его(её) каменты заглянуть - практически ни одного без ошибкок :)
Мотивов у Вашего комментария может быть два (насколько мне хватает фантазии):
Проинформировать человека. Это хорошо.Тыкнуть его носом. Это плохо.
Однако, до вас проинформировать его успели три человека. Время комментариев отличается не на пару минут, а на пару часов. Отсюда вывод — вы торопились сразу отписать, как только увидели его ошибку. Используя основы психологии, из этого можно сделать вывод, что писали вы эмоционально, торопясь. А поэтому, скорее всего, вы хотели тыкнуть его носом, что неприлично.
Ну, и презрительное отношение к человеку, которого вы назвали «грОматей», не употребив при этом смайла, кажется, окончательно доказывает мою точку зрения.
Не тычьте других носом. Начните изменять мир с себя. Пожалуйста.
^_~
напоминает: шел грузчик, нес ящики, споткнулся об лежащую доску, чуть все не уронил, сначла хотел убрать, потом подумал, что здесь он проходит не чаще чем один раз в месяц и пошел дальше.
Дизайн это стремление к совершенству — предела этому недолжно быть.
Если наступит предел то мы все умрем.
И не надо Alexsas'у минусы ставить - он дал абсолютно достойный ответ на поставленный вопрос. Alexsas, поддерживаю! То, что кто-то редко вводит даты, не означает, что поля ввода должны быть убогими, как во многих продуктах и UI компонетах.
Пожалуйста, совершенствуйтесь. Только учитывайте, что вы делаете это за счёт трафика пользователя и его процессорного времени. Может, пользователю удобнее будет грузить страницы без скриптов на всякий чих?
Правильная аналогия: грузчик решил построить мост через доску.
(Впрочем, это в поддержку комментария kotopes'а; опыт-то полезный)
А может не удобнее? А Вы знаете, что как это может кому-то показаться ни печальным - среднестатистический пользователь "страниц" при слове "скрипт" вообще падает в ступор? У многих пользователей не установлен FireBug, и они даже часто не знают, что они загрузили.
Давайте говорить о трафике пользователя после того, как мы каким-либо образом исключим из него ХОТЯ БЫ рекламу и баннеры (я уже не говорю про не качественный контент). Вы уж меня извините, но 30 кил, загруженной интеллектуальной JavaScript-библиотеки, которая достаточно корректно "помогает" пользователю естественно обращаться с датами - это более полезно, чем ОТ 60-ти тех же кил и выше всякого рекламного ..вна. Простите, но трафик в Вашем замечании - не актуально. А если еще и учесть, что при грамотном подходе нужное можно закешировать... Вопрос скорее в приоритетах целей владельца ресурса. Ну а для тех, кто до сих пор сидит с модемами ... ну что ж, можно перед ними и извиниться за "трафик".
По поводу процессорного времени: Вы знаете, я знаком с фактом, что выполнение JavaScript иногда требует много сего самого времени. Но учитывая тот факт, что мне лично вообще кажтся странным, что мой процессор 90% времени работы проводит в 98% idle- не велика потеря, если процессор потрудится немного (для чего он собственно и создавался), но сделает работу ПО что ли более приближенным к пользовательскому стилю работы (простите за каламбур).
Вобщем - подумайте еще раз над своими же аргументами.
+1
но лучше не споткнулся о доску, а упал в яму, но решил не закапывать, а положил через неё досточку, чтобы пройти всё-таки можно было, хоть и с трудом :)
идея хорошая, но по моему скромному мнению пользы будет гораздо больше, если не столько заморачиваться с парсером вводимой даты, а просто заменить в вашем примере фразу "(например 12-03-98)" на "в формате ЧЧ-ММ-ГГГГ".
Для тех пользователей, которые умеют читать - это сразу облегчит понимание того, что от них хотят.
Мне всегда больше нравится понимать, чего от меня ожидает программа, чем просто вводить наугад и ожидать, что программа сама догадается, что я имел в виду.
Абсолютно согласен с вышесказанным, только ДД-ММ-ГГГГ. Если увижу ЧЧ - введу часы в 24-х часовом формате. Хотя наверное не ввведу... не знаю во сколько родился, надо будет узнать :)
а может просто стоит внимательно относится к тому где стОит собирать подобную информацию, а где нет? Там где стОит - заполнить форму труда не составит даже в том виде, что сейчас ан eBay, а там где не надо... там же все-равно введут 01.01.2008 да еще и возмущаться будут мол "зачем оно мне надо?"
Недавание "вводить неоднозначные данные" несёт свои минусы (неудобства).
Давая, мы от этих минусов избавляемся, а возникнут ли другие (неоднозначность) (в конкретном случае использования) - ещё неизвестно.
Проще пользоваться селектами с забитыми данными.
Для стандартного пользователя удобнее мышь возить чем на клаву жать.
Для продвинутого пользователя конечно проще давить, но таких меньше.
а если введут "май" или "jan" вместо числа? да и ещё будут ругаться, что только первые две буквы вошли :)
да и в годе неоднозначность остаётся, хоть и не такая явная: 08 - это 2008 или 1908? конечно, такое редко бывает, но может быть кто-то свою бабушку или ребёнка на очередном клоне одноклассников регистрирует?
Хм, буквально только что предлагал в старой теме "подсвечивать" вводимую дату, но не догадался предлагать альтернативные варианты.
Моё мнение такое:
- Должно быть единое поле ввода. Это даст возможность вставлять дату из буфера, кроме того, продвинутый пользователь гораздо быстрее вобьёт дату с клавиатуры.
- Должна быть подсказка формата по умолчанию (dd-mm-yyyy и т.д.), чтобы пользователь лишний раз не чесал репу.
- Предлагать даты на выбор, распознавая ввод - замечательное решение... наверное. Не пробовал пока. Тут главное - не перемудрить, чтобы список получался не слишком длинным.
- Кнопочка "выбрать" тоже не помешает - кто-то быстрее мышкой, чем клавиатурой, орудует, а кто-то хочет иметь перед глазами календарь.
Касаемо инструмента выбора - "простыня" с годами хороша, но ограничена. Можно поставить стрелки справа и слева, которые будут сдвигать список на десятилетие туда-сюда. Это облегчит выбор даты в глубоком прошлом или в далеком будущем (в разумных пределах, естественно).
День блокировать не нужно. Достаточно подсвечивать его красным, если дата невозможна, и не давать отправить форму до исправления.
именно!
когда планируешь отпуск, заказываешь гостинницу или билет на самолёт, то выбираешь по календарю, чтобы ориентироваться по дням недели и т.п.
если будет простое поле ввода, то придётся сперва глядеть в другой календарь, а потом уже вводить дату
Да. Именно так - объединение всех путей с возможностью выбора. Во-первых, оно позволит быстро отработать ввод и клавишнику-"трактористу" и мышатнику. А во-вторых, говорю по опыту работы с официальным сайтом госзакупок: у них там текстовое поле ввода (с фиксированным форматом) и кнопка "выбрать" - которая вызывает стандартный календарь. Только вот в линухе в опере вызывается календарь со 108-м годом. Потому мне проще вбивать руками. В-общем, выбор и универсальность - это хорошо. Особенно, если ресурсы и время позволяют реализовать =))
элементарный анализатор через разделители читаем покам не появился символ "не цифра" он становится разделителем далее, точнее, ранее уже определено через ip где находится пользователь, и в зависимости от этой информации строится - восприятие данных (месяц идет первый или число или год).
Отсекаем группу людей с неправильными датами рождения и людей (например) младше 10 лет, они априори идут лесом, полуяаем параметр даты в промежутке от ..-98 соотвественно данный парамтр особый и не может стать ошибочной датой.
в написании числа и месяца предлагаю отталкиваться от место расположения юзера, в разных странах это по разному у нас напрмер, число пишется первым а в америке первым месяц.
соотвественно проанализировать написанное становится проще даже без разделителей
На мой взгляд такой вариант - полная фигня. Вот в предыдущей статье вы предложили довольно занятный способ и кроме того что он оригинальный и симпатичный, он еще и удобный. А если фронтэнд и бэкэнд разрабатывают разные люди, так вообще. А здесь вы сознательно совместили доверие к пользователю с недоверием - ну к чему эти дополнительные предположения, если с тем же успехом снизу можно написать не "например", а ДД-ММ-ГГГГ.
В каждой стране мира существуют правила ввода даты
Если я из Украины, то вводить дату я наверняка буду как dd.mm.yyyy или dd.mm.yy
Если в штатах и европе, то mm/dd/yy
Не нужно заставлять пользователя выбирать. Определите локаль и/или местоположение и после ввода попросите подтверждения, если ввод не однозначен.
Мы делали такую штуку для одного проекта год назад — вот, собственно, страница из проектирования:
Логика работы очень простая. При вводе даты нужно учитывать возможное ограничение по времени: если речь идёт, например, об авиабилете, то актуальны для нас даты от сегодня и на месяц вперёд. Если речь идёт о дне рождения взрослого, то актуальными становятся -18 лет от сегодня и до -100 лет от сегодня. Соответственно, всё что нужно сделать для избежания культурной путаницы, это вывести дату в однозначном формате: 15 февраля 2007, например.
Кроме того, можно выводить "распознавалку" после потери фокуса на поле, а если человек снова попадает в него, то показывать его собственный ввод, как он был сделан до автоподстановки.
Введите дату. Попытка номер два.