Календарь на Javascript
Для просмотра статистики появилась необходимость удобного ввода ближайших дат, но, как оказалось, простейший, казалось бы, календарь на javascript очень сложно найти. Во-первых: то что легко отыщется в гугле, оказывается либо очень большим по размеру: 50-60 Kb для страницы, которая имеет размер в 5-10 Kb показалось слишком много. Во-вторых нужные скрипты платные, что тоже меня не устраивает, т.к. скрипт в дальнейшем будет распространяться и платные части в нем никому не нужны.
Но выход нашелся. На сайте calendar.swazz.org (автор Oliver Bryant) обнаружился очень приятный, простой, при этом маленького размера, скрипт календаря. Однако, тоже не без нареканий. Первое, что не понравилось, это наличие в комплекте с файлом calendar.js двух картинок, что чаще всего оказывается лишним. Второе, то что просто шокировало - невозможность ввода дат ранее сегодняшних, при этом в примере автора указывается “Date of birth”, как человек может вводить дату рождения при этом не использую чисел раньше сегодняшнего мне так и осталось непонятным.
Поэтому пришлось видоизменить скрипт календаря. В новом скрипте следующие отличия:
- возможность задавать даты без ограничений;
- выделение цветом сегодняшнего дня (используется время пользователя);
- добавлена кнопка выбора текущей даты;
- изменен формат получаемой даты, теперь используются ведущие нули;
- отказ от использования изображений для кнопок смены месяцев;
- изменены цвета на более веселенькие, т.к. в оригинале было слишком мрачно;
- перевод на русский (cp1251);
- теперь скрипт имеет две версии: в русской неделя начинается с понедельника, в английской - с воскресения.
Подключается скрипт очень просто. При этом календарь может подключатся к неограниченному количеству полей ввода. В файле примера видно, как использовать скрипт.
Возможно не совсем удобен выбор года, т.к. календарь предназначался в первую очередь для использования в статистике, и поэтому чтобы выбрать дату рождений придется “промотать” все месяца каждого года. От использования отдельных стрелок для годов тоже было решено отказаться, т.к. нажимать 30-40 раз тоже затруднительно, при этом простота и очевидность пострадают. Возможно, в будущем скрипт дополнится всплывающим списком годов, для более легкого выбора.
Скачать скрипт календаря
(пришлось вынести на файлообменник)
21.08.2008 в 13:57
Огромное спасибо за исправленный скрипт!!! Вчера целый день пыталась довести оригинал до ума, но с ошибкой “старых” дат так и не смогла справиться. А сегодня утром нашла Ваш сайт и скачала исправленную версию. Огромнейшее спасибо!!!!
12.09.2008 в 15:45
Большое спасибо
Таки работает! :)
29.10.2008 в 12:07
Благодарю за прекрасный скрипт. Искал такой почти два дня. Только вот не очень удобно нужный год выбирать. Подскажите пожалуйста, как исправить выбор месяца и года на ниспадающий список…
29.10.2008 в 13:18
Айнур, я думаю что “исправить” не получится, потому что исправлять нечего, такая функция не предусмотрена.
29.10.2008 в 13:52
Спасибо за ответ. Я просто в JS не разбираюсь, но очень хотелось бы сделать списком, поэтому мне интересно было узнать куда и что дописывать.
29.10.2008 в 21:32
Айнур, если я добавлю такую возможность, то напишу тут комментарий и он придет на мыло.