powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Изобрёл велосипед
94 сообщений из 94, показаны все 4 страниц
Изобрёл велосипед
    #35317995
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Три дня искал в дурнете нормальный ввод даты - не нашёл. То - или сервер юзает, то - или можно ручками, или календарём, то - валидация на сервере. Взял и написал (целых 2 дня угрохал) Jскрипт. Нужно только соответствующий класс инпуту (может быть их скоко угодно) присвоить (инпут д.б. на форме). В хтмл-исходнике написано как. Короче, неделю убил. Мой исходник заканчивается закрывающим тэгом боди. Остальное присобачивается бесплатным хостингом. Код, конечно - хреновый, за исключением копипастинга с постов илион у нас на форуме. Вот здесь . Если не влом - пишите.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318212
mrJust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понял, чем виджет календарь не устраивает.
Велосипед - это всегда приятно.
Особенно приятно, когда он прямо ездит ))

Посмотрите эти плагины для jQuery. Думаю понравится.

В Вашем решении понравилась фича со стрелками.

Удивительно то, что в IE6 валится ошибка:
Код: plaintext
1.
2.
Line: 300
char: 1
error: Unknown runtime error

(смотрел так же в ff2, opera9, safari win) - ошибок не заметил.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318231
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrJust
Спасибо. К JQuery у меня особенное отношение случилось после того, как она ни за что не захотела парсить XML под эксплорером (под другими - нормально). Я посмотрел код - и офигел... К тому же, из-за такой ерунды, как календарик - не очень хочется какую-то (тем более, чужую) библиотеку подключать.
ПС. Можно поподробнее про ИЕ6. У меня нету его. Проверял только в ИЕ, ФФ и опере (кстати, опера - особый случай. Ей отменять не кейдаун нужно, а кейпресс).
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318238
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeМожно поподробнее про ИЕ6
Нажимаю мышкой на стрелку вниз, на любом из инпутов и получаю неизвестную ошибку выполнения на 300 строке

P.S. А нельза на период тестирования отрубить фреймы и попапы?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318313
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_ ShSergeМожно поподробнее про ИЕ6
Нажимаю мышкой на стрелку вниз, на любом из инпутов и получаю неизвестную ошибку выполнения на 300 строке

P.S. А нельза на период тестирования отрубить фреймы и попапы?
Отрубить - никак. Я ж на яваскрипте - не профессионал, мне просто - нравится. Если бы заказчику понадобилось вводить дату - вперёд (и валидаторы в аспнет есть и прочая фигня тоже).
Но, насчёт ИЕ6 - надо будет посмотреть.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318327
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_P.S. А нельза на период тестирования отрубить фреймы и попапы?
Это же совершенно клиентская штучка. При чём здесь эти дурацкие фреймы?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318334
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeЭто же совершенно клиентская штучка. При чём здесь эти дурацкие фреймы?
При том, что лично меня они раздражают :(
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318367
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_[,,,лично меня они раздражают(
Чего я могу по этому поводу сказать - ничего. Ты любишь яваскрипт?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318369
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, про фреймы не прочитал. Пардон.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318464
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совсем недавно искал календарик, потому заглянул полюбопытствовать. Сразу скажу, код не смотрел. Наткнулся на такой баг: выбрал число кликом по клетке календаря, а потом решил его подправить стрелками - в результате число сначала сбросилось на то, которое было до мышкокликанья, и стало перелистываться уже от него (FF 2.0.0.14). И в konqueror 3.5.7 еще стрелки не нарисовались в правой части инпута, хотя, клик там работает ))
О, еще может колесико скролла задействовать для прокрутки месяцев при открытом календаре, а при закрытом - для изменений значения выбранного. Ну, это так, на уровне идеи по развитию ;)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318499
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маленькое уточнение по JavaScript:

function(param1) {
/*var*/ param1=param1

var не нужен, так как формальные параметры принадлежат к локальным именам и без этого.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318503
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и в
cal.style.top=topPos + "px";
cal.style.left=leftPos + "px";
иначе при указании доктипа не будет работать без явного указания единиц измерения
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318507
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
while( obj.tagName != "BODY" && obj.tagName != "HTML")
{
leftPos += obj.offsetLeft;
topPos += obj.offsetTop;
obj = obj.offsetParent;
}
дучше дать как
while( obj )
и реализовать отдельной функцией и обязательно в блоке try/catch
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318517
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под IE вылетает на
el.innerHTML = html

Разметка сложновата для innerHTML и не всегда соответствует стандарту
нет закрывающего тега table
можно попробовать явно задать tablHead/Body - может съест.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318598
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacyнет закрывающего тега table
Точно баг.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318599
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle...konqueror 3.5.7 еще стрелки не нарисовались в правой части инпута...
Так это же бэкграунд. Наверное надо туда абсолютно позиционированную имажу подвесить. И код будет проще (и работать будет лучше - не надо онмоусемове юзать для курсора).
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318607
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в код не смотрела (выходные однако, тяжко), поэтому об юзабилити речь пойдет. После того, как дата была введена, число можно подправить стрелками или popup-календариком. Месяц и год - только стрелками. Или снести дату совсем и вводить заново. При некоторой сноровке стрелками делать это удобно, но неопытному юзеру - нет (тем более что опция эта неочевидна, юзера о ней нужно информировать дополнительно). Чего не хватает? Не хватает всё же навигации по месяцам и годам в popup-календаре (для страховки, чтобы точно быть уверенным в том, что любой дурак сможет ездить на этом велосипеде). Я людям предлагаю разные варианты, обычно выбирают такой:[см.приложение] (сорри, но скриншот сейчас сделать неоткуда, поэтому художество в paint'е) (месяц можно выбирать из списка типа обычного <select> либо кнопками взад-вперед, год - забить руками или выбрать из списка, -/+ - прокрутка на -/+ 5 лет).
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318614
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ещё об юзабилити. Числа в popup-календаре слишком скучены. Добавишь padding'ов в ячейки с числами - он станет значительно читабельнее. Если совсем дотошно прикапываться - то линии таблицы нужно убрать (они создают только зрительный шум), паддинги по бокам ячеек сделать чуть больше, субботу с воскресеньем выделить другим цветом (так легче ориентироваться). В общем, я клоню к тому, что календарь должен быть максимально похож на тот, что висит на стене.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318685
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion
Да, точно - цифры скучены. Я не очень старался над дизайном - подключил цсс, чего у меня было. Кстати, посмотри исходник, там твоё есть, токо я его с ашыпками скопипастил.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35318954
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы совершенно правильно для тестирования разместили сразу два элемента.
Когда в одном инпуте изменить год стрелочками - в другом меняется начиная с года в первом инпуте.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35319141
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacyВы совершенно правильно для тестирования разместили сразу два элемента.
Когда в одном инпуте изменить год стрелочками - в другом меняется начиная с года в первом инпуте.
Спасибо. Я заметил эту штуку. Она работает следующим образом. Если второй инпут пуст, берётся последняя введённая дата. А если нет - то что введено. Сначала хотел исправить на текущюю, а потом решил, что может и ничего.
Это из-за того, что переменная _currDate одна для всех инпутов.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35319152
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion...месяц можно выбирать из списка типа обычного <select> либо кнопками взад-вперед, год - забить руками или выбрать из списка, -/+ - прокрутка на -/+ 5 лет...
Я наверное так и сделаю. Селекты засуну в дропдаун-календарь. Хотя придётся несколько логику закрытия дропдауна изменить. Сейчас он закрывается на потерю инпутом фокуса. Надо подумать.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35319673
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
писать свой календарик для изучения джаваскрипта или дом - занятие похвальное, но вот убивание на это недели, в то время как готовых календариков уйма - это слишком.
в ExtJs очень хороший календарик. сейчас ещё кто-нибудь обязательно вспомнит нормальный календарь, ну и так далее.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35320178
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeusTheTrueGod...в ExtJs очень хороший календарик...
Я и не говорил, что плохой. Там и локализация есть и красивый он (нет фишки со стрелками). Что касается неделю убил - это слишком сказано. Я же не всё время этим занимался. Зато потренеровался на яваскрипте. И, благодаря, советам на форуме (исправил глюки, добавил вывод месяца и года), вполне приличный календарик получился.
Что касается изучения жс - я этим регулярно занимаюсь. И другим советую.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35321832
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeusTheTrueGod
Дизайн и правда - хреновый. Но я - не дизайнер (кого-нибудь попрошу). Зато extjs (по поводу моего календарика) и десятой части делать не умеет (хе-хе). Поэтому я и решил свой написать. Причём, давно хотел.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35322136
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в ие6 - дропдаун не работает. MS дебаггер говорит "вах-вах, неизвестная ошибка выполнения в строке 304". Подсвечивает строку - document.getElementById("_calendur").innerHTML=html+"</table>". Заменяю на document.getElementById("_calendur").innerHTML="йцуке". Работает. Значит дело в хтмл-странице. Извилистым путем прихожу к выводу, что скрипт конфликтует с незакрытым тегом <TABLE cellSpacing=0 cellPadding=0 border=0> в фрагменте
Код: plaintext
1.
2.
3.
....<B>"пробел"</B> вводит всегда текущюю дату. 
<DIV align=center><BR><BR><BR>
<TABLE cellSpacing= 0  cellPadding= 0  border= 0 >
  <TBODY>....
лезу обратно в скрипт, читаю сначала. Сразу подпадает под подозрение большое и красивое document.body.innerHTML+='<div id="_calendur" style="position:absolute;top:0;left:0;z-index:1000;background-color:white"></div>';. Заменяю на
Код: plaintext
1.
2.
3.
4.
5.
6.
	var div = document.createElement('div');
	div.style.position = 'absolute';
	div.style.zIndex =  1000 ;
	div.style.background = "#fff";
	div.id = "_calendur";
	document.body.appendChild(div);
ура, работает.

P.S. Дык это, может все-таки юзать createElement, appendChild и табличные insertRow,insertCell, а не трехэтажный innerHTML, который будет конфликтовать с кем попало ?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35322787
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion
ура, работает.

Спасибо!
Точно у меня в aspx глюк был - теперь (после аппенд чилд) заработало.
illionP.S. Дык это, может все-таки юзать createElement, appendChild и табличные insertRow,insertCell, а не трехэтажный innerHTML, который будет конфликтовать с кем попало ?
Не советую (я этим баловался) - ещё хуже.
Помоему - исправил . Как оно в ИЕ6?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35323078
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По уму, надо ещё кнопочку в инпуте сделать абсолютно позиционированной и на неё клик повесить, т.е. сделать спан, свапНоде с инпутом, аппенд чилд инпута и имажи. И самое главное - заменить регэксп на больше-меньше кейкоде (не работает нумпад). Конструкция String.fromCharCode(event.keyCode) в нумпаде для 1 возвращает a, для 2 - b.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35323178
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeКак оно в ИЕ6?
работает.

Ну раз решено innerHTML оставлять, то можно постепенно перейти к следующему этапу, так горячо мною любимому. Сокращение кода. Предлагаю следующее:

Довольно длинная фраза
Код: plaintext
addZero(_currDate.getDate())+'.'+addZero(_currDate.getMonth()+ 1 )+'.'+_currDate.getFullYear()
встречается в коде постоянно. Выносим в функцию:
Код: plaintext
function setValue(date) { return addZero(date.getDate())+'.'+addZero(date.getMonth()+ 1 )+'.'+date.getFullYear(); }

Очевидно, что в if(ev.keyCode==38) и в if(ev.keyCode==40) задано одно и то же условие. Объединяем.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
if(ev.keyCode== 38  || ev.keyCode== 40 )
	{
		if(val.length< 10 ) return true;
		
		var step = (ev.keyCode== 38 )? 1 :- 1 ;
		if(_currFragment=="d")
		{
			_currDate.setDate(_currDate.getDate()+step);
			el.value=setValue(_currDate);
			selectDay(el);
		}
		else if(_currFragment=="m")
		{
			_currDate.setMonth(_currDate.getMonth()+step);
			el.value=setValue(_currDate);
			selectMonth(el);
		}
		else if(_currFragment=="y")
		{
			_currDate.setYear(_currDate.getFullYear()+step);
			el.value=setValue(_currDate);
			selectYear(el);	
		}
		if(document.getElementById("_calendur").innerHTML!="") calCreate(document.getElementById("_calendur"),_currDate);
		return false;
	}

Аналогично очевидно, что monthLeft() и monthRight() - это тоже одна функция, так же как и yearLeft() и yearRight(). Вводим вспомогательный параметр и объединяем.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
function monthChange(direction)
{
	var step = (direction=='up')? 1 :- 1 ;
	if(_currDate==null) _currDate=new Date();
	_currDate.setMonth(_currDate.getMonth()+step);
	_currInput.value=setValue(_currDate);
	selectMonth(_currInput); _currFragment="m";
	calCreate(_currInput,_currDate);
}

function yearChange(direction)
{
	//аналогично
}

итого получим ~-10% в количестве строк и примерно столько же в байтах.

P.S. ох, какая симпатичная куча if'ов посреди скрипта... (if((val.length==0)&&(ss.match(reg)))...). Не пойму только с какой стороны к ней подъехать. Жаль бубна нет :-(.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35323199
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeПо уму, надо ещё кнопочку в инпуте сделать абсолютно позиционированной и на неё клик повесить
а еще по уму надо сделать в дропдауне столбец с названием месяца фиксированной ширины, а то переключаешь месяцы и кнопка под мышом влево-вправо мечется
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35323313
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ух-ты! Спасибо. Я конечно сделаю как ты говоришь. Но ведь получается, что ты (а не я) программу и написала, ёлки-палки!
illion...надо сделать в дропдауне столбец с названием месяца фиксированной ширины...
Да пробовал - всё криво получается. Опять же, это я размер шрифта в цсс прописал, а ведь он может быть разный. По поводу иннерХТМЛ таблички. Я давным-давно под 5 ИЕ писал визуальный редактор для таблиц (количество столбцов и строк менялось на ончанже соотв. инпута), так вот - креате и аппенд чилд помирали уже при 100 строк, а иннерХТМЛ - работал и при 10000 без проблем и почти мгновенно!
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35326496
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeполучается, что ты (а не я) программу и написала
как раз таки до текущего момента я ничего не писала, а совсем даже наоборот (копипаст + delete). Но можно и наваять че-нить. Например добраться до той самой кучи if'ов. В принципе тот кусок можно и сократить вполовину как минимум, но есть еще пара пожеланий относительно ввода дат.
Первое. Оставить возможность вводить точку руками. Например: юзер желает ввести дату 2.5.2008 и не желает догадываться о том, что на самом деле оно должно быть 02.05.2008
Второе. Отвлечься от идеи о том, что число в дате обязательно должно начинаться с 0-3, а месяц - с 0-1. Например: юзер хочет ввести дату 9.05.2008, жмет 9 и ничего не происходит.
А еще - точка в дате появляется почему-то в неподходящий момент. Т.е. не тогда, когда число или месяц стали двузначными, а в тот момент, когда осуществляется ввод месяца или года.

Ну и чтобы не только критиковать, но и содействовать, могу предложить заместо куска
Код: plaintext
1.
2.
3.
4.
5.
6.
ss=String.fromCharCode(ev.keyCode)+"";
reg=/[^ 0 - 3 ]/g;
...//около  25 - 30  строк
if(document.getElementById("_calendur").innerHTML!="") calCreate(document.getElementById("_calendur"),_currDate);
return false;
}
нечто подобное:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
ss = (ev.keyCode== 190  || ev.keyCode== 191 )?'.':((ev.keyCode <  96 )?ev.keyCode- 48 :ev.keyCode- 96 );
if (!/^[ 0 - 9 .]$/.test(ss) || (val.lenght>= 6  && !/^[ 0 - 9 ]$/.test(ss)) ) return false; 
var newValue = val + ss;
if (val.length ==  0  && ss >  3 ) newValue = '0' + ss + '.';
if (val.length ==  1 ) newValue = (ss=='.')?('0'+newValue):(newValue+'.'); 
if ((day = parseInt(newValue.substr( 0 , 2 ))) >  31 ) return false;
if (val.length ==  3  && ss >  1 ) newValue = el.value + '0' + ss + '.'; 
if (val.length ==  4 ) newValue = (ss=='.')?(el.value.substr( 0 , 3 )+'0'+el.value.substr( 3 , 1 )+'.'):(el.value + ss +'.');
if ((month = parseInt(newValue.substr( 3 , 2 ))- 1 ) >  12 ) return false;
if (val.length> 9 ) return false;
if (newValue.length ==  10 )
{
  year = parseInt(newValue.substr( 6 , 4 ));
  try{ _currDate=new Date(year,month,day); }
  catch(e){alert("Ошибка в дате!"); el.value=""; return false;}
  el.value=setValue(_currDate);
  selectDay(el);
  if(document.getElementById("_calendur").innerHTML!="") calCreate(document.getElementById("_calendur"),_currDate);
}
else el.value = newValue;
return false;
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35326516
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забавный метод получения действительной даты из введенной руками. Пишу 31.2.2008, получаю 02.03.2008. Хотя с точки зрения js все логично.... Хм.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35326542
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge illion...надо сделать в дропдауне столбец с названием месяца фиксированной ширины...Да пробовал - всё криво получается. Опять же, это я размер шрифта в цсс прописал, а ведь он может быть разный.
ну тогда не фиксированной ширины, а кнопки-стрелки ближе к краям дропдауна. Например табличке с навигацией по месяцам/годам задать ширину ~90%, колонкам с кнопками - ширину кнопки.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35326656
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion...ну тогда не фиксированной ширины...
Я ещё не выложил код. Потом выложу, когда внесу изменения. С шириной разобрался с помощью кувалды - присваиваю таблице с месяцем-годом clientWidth таблички с номерами дней (она более-менее фиксированная, т.к. там Пн Вт - самые широкие клеточки.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35326987
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion...могу предложить заместо куска...
Класс! Выложил. Правда ещё не все некрасивости кода убрал и не сократил его (не принципиально).
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35327342
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это намного лучше, чем подключать многокилобайтные библиотеки из-за календариков, которые в большинстве случаев ещё и платные (с хреновым юзабилити - extjs). Дело в том, что такие календарики нужны всем, но никто их не пишет, потому что времени на это много уходит и требуется некоторая квалификация.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35327452
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, я надеюсь, что мы с illion доведём это дело до совершенства (уже почти доведено), а ещё есть integer, float и money.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35327506
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так держать. Полтора года назад искал календарик, который можно было бы использовать, но так и не нашел подходящего. Это сможет подойти :) (при необходимости).
Немножко поюзал его. Конечно, до совершенства далеко ... Приведу несколько советов (типа как тестер):
1. Более удачным шрифтом будет Verdana - он системный, у всех есть, более округлый и при малых шрифтах лучше выглядит.
2. Кнопки великоваты и аляписты.
3. В ФФ не видно мигания, а в ИЕ при каждом нажатии на стрелки перерисовывается окошко. Как бы от этого избавиться?
4. Ячейки маловаты для шрифта или шрифт великоват для ячеек - не очень уютно.
5. Тескт в ячейках лучше отцентрировать, будет симпатичнее.
6. При выборе даты надо выделить дату и сделать маленькую задержку - 400-600 млсек, будет приятнее для глаза.
7. Это совсем для выпендрежа: окошко сделать сворачивающимся/разворачивающимся - будет смотреться неплохо, только скорость отрегулировать, чтобы и не слишком мигало и чтобы не задерживало ввод даты.
8. Цветовой стиль, а также форма кнопок не соответствуют общему стилю. С ним надо поработать.
9. Насколько понимаю, красным должна выделяться текущая дата. Почему есть красная дата в каждом месяце? - Это не есть правильно.
10. Отработка выделения даты должна осуществляться по onclick, а тут она по onmousedown. Было бы хорошо, чтобы по нажатию на кнопку мыши дата выделялась, но окошко оставалось открытым. А уже при отпускании мыши оно закрывалось. А то нажимаю на кнопку и остаюсь как дурак с нажатой кнопкой посреди странички ... :) (типа как при нажатии стрелок при открытом окошке)

Удачи!
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35327546
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ловим баги. Ввожу 8.09.2008. Получаю невесть что (в любом браузере). Оказалось, что
parseInt("08") и parseInt("09") возвращают 0, в то время как parseInt("07") == 7, parseInt("06") == 6 и т.д. (а именно эти конструкции используются для определения day и month). Выглядит как бред, то тем не менее. Лечится отказом от parseInt
Код: plaintext
1.
2.
day = newValue.substr( 0 , 2 )
...
month = newValue.substr( 3 , 2 )- 1 
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35327590
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion...parseInt("08") и parseInt("09") возвращают 0...
Известный факт, если с нуля - значит число восьмеричное, поэтому 8 и 9 - NaN, остаётся 0 - хе-хе.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35327735
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
parseInt("09", 10 )
Вот так вылечил .
IDVsbruck
9. Насколько понимаю, красным должна выделяться текущая дата.

Неа. Та, что в инпуте. Там просто цсс-класс такой, что колор:ред.
IDVsbruck
10. Отработка выделения даты должна осуществляться по onclick, а тут она по onmousedown.

Так сделано из-за того, что dropDown закревается при потере фокуса инпута. Например, если пользователь клавиатуру юзает табом.
Дизайном я вообще почти не занимался. До этого не дошло. За советы - спасибо. Подключайся.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35327761
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeесли с нуля - значит число восьмеричное
ну вот, пришлось лезть в описание функции (интересно же, а раньше лень было). Действительно так. Но как оказалось, не всегда удобно.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35328242
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
if((ss=='.')&&((val.length== 0 )||(val.substr(val.length- 1 , 1 )=='.')||(val.length> 4 ))) return false;
Не даю вводить неправильные точки.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35329862
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С оперой была проблема. Теперь - нет и браузер теперь не проверяю. Однако же, с этой самой оперой есть проблема. Как ей запретить обрабатывать управляющие клавиши? Чего-то не получаеццо.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35329938
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот в 9.50 beta (токо что установил) - всё работает, как часы.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35329944
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не - не как часы (хотя получше). Ёлки-палки!
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35329996
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура AOL 2.7.13.1 - работает!
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35336308
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и пригодился элементик. Правда, пришлось потратить полдня на его оптимизацию и подгонку. Результат прилагаю.
У меня, правда, возникло несколько проблем, так как форма подгружается динамически и это накладывает некоторые особенности в работу.
Что нехорошо - это то, что при ручном редактировании строки не срабатывают системные кнопки или сочетания клавиш (F5, Ctrl-F5).
Также хочу поделиться наблюдениями. В предложенном варианте при нажатии кнопок изменения месяца и года происходит перерисовка этих кнопок, из-за чего они мигают и это раздражает. Я в ячейки с кнопками вставил background-image и поставил символы < и >. Мигание исчезло совершенно.
Еще я привязал div и ячейки к одной ширине, из-за чего теперь визуально клеточки выглядят более правильно - совершенно равными.
Ну, и то, что бросается в глаза (мне это более подходит по дизайну сайта) - я разбил строку ввода и кнопку выбора календаря. Теперь надо просто разграничить события и передать в функцию определения событий два элемента.

А так - огромное спасибо за идею и практически законченный функционал. Можно, конечно, сделать больший акцент на DOM, а не innerHTML, и сделать элемент полностью на объектах (объектно-ориентированным) - чтобы он сам за собой следил "изнутри", а не навязывать ему действия "извне", но это все развлечения на досуг.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35336495
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подзабросил календарик. Сегодня м.б. вернусь к теме. Тем более, что появилась идея сделать числовые (интежер, флоат и мани) инпуты, у которых в дропдауне будет калькулятор (хе-хе). Кстати, может кто подскажет идею как прикрутить конвертор валют (например по курсу ЦБ)? Может кто такое делал?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35337501
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делал, но похожее ... WSDL (до него разок юзал в проекте SOAP).
Но в получении такого типа данных используется XML-RPC (можно взглянуть на это ). Из этого источника качает 1С:Предприятие. Но так как пользователь не платит за курсы, но они как-то обходят платный сервис. Но если поискать, то, думаю, несложно найти.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35337797
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сайте цбр.ру есть соответствующие веб-сервисы и есть возможность получать данные в XML.
Например тынц , но собака XmlHttpRequest не хочет работать с чужим хостом. Т.е. такая чисто клиентская фишка не получится. Может знает кто как побороть секурити полиси?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35338689
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем случае нельзя. Почитать можно здесь.
http://www.ibm.com/developerworks/library/ws-ajax1/
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35338712
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apapacy
Я прочитал. Плохо, что нельзя чисто клиентскую штуку сделать. Обходить приходится таким путём:
На сервере (хотелось сделать платформенно-независимо, однако же...) есть скрипт - читать-писать, который получает данные из запроса (урл) и - собственно его и исполняет. Работает. Только на сервере цбр.ру мне пришлось строчку с windows-1251 в полученном XML заменить (простым репласе) на UTF-8. (Пишет 1251, а возвращает юникод под аспнет (хе-хе).) Надо будет пхп ещё попробовать.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35363249
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функционал календарика можно (и нужно) расширить возможностью установки выбора стандарта даты либо выставлять в соответствии с настройками компа, что еще намного лучше. А то стандарт "dd.MM.yyyy" - это наш славянский (европейский), тогда как амеры и канадцы используют стандарты "yyyy.MM.dd", "MM.dd.yyyy", "MMM dd, yyyy", "yyyy-MMM-dd", "yyyy, MMM dd". (кто не знает, МММ - это Jan, Feb, Mar, Apr, May, Jun)
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35369402
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это просто эксперименты , но должен сказать, что меня точно не устраивает стандартный селегт хе-хе .
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35369407
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПС. Забыл нопесать, там инкрементный поезг ист.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35370140
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю, что это призыв начать обсуждение и притирку нового селекта?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35370183
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckЯ так понимаю, что это призыв начать обсуждение и притирку нового селекта?
Типа того. На самом деле - призыв свои контролья писать (можно не до конца, сам понимаешь ), чтобы каждый мог под себя подстроить. Универсальность - НА ... !
ПС. Три точки - это три быквы.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35370228
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обрати внимание на бесплатный хостинг. Без окон, без баннеров +PHP+MYSQL+немеряно мегабайтов в придачу.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35370496
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу, спасибо. Только вот пока ни разу не написал ни одной строчки на ПэХаПэ (впрочем, на перлЕ тоже) :) ... все как-то проекты какие-то корпоративно-сложные. А если простенькое попадается, то людей нанимаю.

А контролы - дело хорошее, особенно такие штуки, как селект. Я тут как-то неплохой нашел, но руки не дошли его применить ... если интересно - поюзай(те).
(по-моему, это он, но утверждать не берусь - но по исполнению грамотно)
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35370999
D.O.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Календарь в целом понравился.
Я хотел бы приспособить под себя одну вещь, но не знаю как: чтобы разделитель полей даты была не точка, а "/". Где там что поправить надо?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35372079
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck... все как-то проекты какие-то корпоративно-сложные...
Такое происходит или от неправильной постановки, или реализации . Давно в этом бизнесе (корпоративные проекты), если с нуля делаешь - всё просто. Другое дело, когда доделывать-переделывать... (хе-хе). На перле и пхп - тоже давно не пишу, в прочем, и на аспнет - плохо. Хорошо получается, если эту всю фигню использовать только, как интерфейс для получения данных, а также удаления, инсерта и апдейта. И никаких сторонних библиотек!
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35372261
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeНа перле и пхп - тоже давно не пишу, в прочем, и на аспнет - плохо. Хорошо получается, если эту всю фигню использовать только, как интерфейс для получения данных, а также удаления, инсерта и апдейта.
видимо зависит от того, кто и как использует. Кто-то может использовать перл только как "фигню для получения данных", а у кого-то админы скоро забудут как консоль выглядит, так как бОльшая часть задач решается перл-программами - от мониторинга состояния системы и сети до спам-фильтров и управления ldap-каталогами. Насчет пхп и асп промолчу, ибо их не пользую.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35372275
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeИ никаких сторонних библиотек!
я люблю велосипеды. Периодически их изобретаю. Но вместе с тем не могу не признать, что сторонние библиотеки и модули существенно облегчают мне жизнь и экономят время. Хотя от велосипедов видимо никогда окончательно не откажусь - иногда так хочется сляпать что-нибудь красивое собственными руками :-)).
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35372894
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illion...сторонние библиотеки и модули существенно облегчают мне жизнь...
Никто и не спорит. Выбирать надо грамотно. Что имеешь? Что хочешь получить?
У меня как-то был большой и дорогущий проект, написанный на делфях. Причём, писали его много людей и несколько лет. Переписал за 4 дня под хттп с нуля (на пхп - никогда не писал, типа подключиться - и выполнить селект, на основании того, что с формы пришло, т.е. WHERE сформировать), и работал раз в пять быстрее + плюс хороший яваскриптовый интерфейс... . Всё-таки я утверждаю буквально следующее:
1. Знание хттп протокола (для перла - и всех прочих цги - кверистринг и читать-писать, сама знаешь).
2. Знание бд (SQL, м.б. xml и тд. и тп.) - это моя фишка.
3. Знание жс (включая ДОМ и т.д. и т.п.), для построения интерфейса.
И успех вас найдёт сам!
Здорово написал? Прямо как в рекламе (хе-хе) .
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35372898
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПС. Между прочим, кроме перла на юниксе (и на виндовсе) ещё и авк, сед и пр. есть. Впрочем, иногда и шелла хватает.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35390725
Фотография Shredder2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в календарике не хватило следующего:
1. при вводе в поле двузначного числа и выхода из поля ("Tab") к введённой дате должен быть добавлен текущий месяц и год.
т.е. если я ввожу "25", то это значит, что я хочу ввести 25-е чисто текущего месяца.
2. тоже если ввожу 4 числа, чтобы подставлял год.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35391145
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shredder2003в календарике не хватило следующего:
1. при вводе в поле двузначного числа и выхода из поля ("Tab") к введённой дате должен быть добавлен текущий месяц и год.
т.е. если я ввожу "25", то это значит, что я хочу ввести 25-е чисто текущего месяца.
2. тоже если ввожу 4 числа, чтобы подставлял год.
Умно - так и сделаю.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35391468
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge illion...могу предложить заместо куска...
Класс! Выложил. Правда ещё не все некрасивости кода убрал и не сократил его (не принципиально).
посмотрел. Конечно забавно (хотя есть бага, в сафари если кликнуть на левую стрелку в строке с годами, календарь сразу пропадает, или например текущее число подсвечено в каждом месяце, а не в текущем), но есть одно большое НО, почему я хочу сказать, что этот календарь гавно. Гавно потому, что он вмешивается в мои действия когда я этого 1) не хочу, 2) не ожидаю. Это все равно что после мышки взять джойстик от приставки и попробовать сыграть в тот же 3д шутер. Играть можно и даже очень удобно, потом, но вначале нужно долгое время на привыкание. А учитывая что календарь - штука достаточно стандартная на вебе, то делать её через вротмненоги - это значит не уважать посетителей. Да он лучше мышкой будет всегда тыкать, чем пытаться что-то ввести на клавиатуре. После ввода даты нельзя просто взять и ввести другую составляющую, например, отредактировать. Я жму клавиши и получаю неожиданную реакцию (например, на пробел мне подставляется текущая дата). Тебе хелп надо будет километровый под календарем писать, рассказывающий о всех шоткатах и фичах. А могло бы быть все намного проще и полезнее. Например, ввел "tomorrow", убрал фокус - подставилась нужная дата. Или ввел "04 jan", убрал фокус, появилось "04.01.2008" и т.п. (и кстати таких решений уже много реализовано). И дата чтобы форматировалась после фокуса, а не во время ввода, иначе это реально напрягает. Кстати ещё напрягает, когда событие происходит уже по onmousedown , а не по onclick (это я о выборе даты мышкой), реально возникает ощущение что произошло что-то, чего ты ещё не хотел. И почему, в конце-концов, я не могу выбрать дату из серой области, относящуюся к другому месяцу? В общем автор явно думал не о юзабилити, а о технической стороне и фичности. х..ня (с) а.л.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35391955
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то йа зло написал, опять бизнес-линча начиталсо )
короче, добавь редактирование введеного текста, не надо лочить ввод и оставлять только стрелки. И будет копия дейтпикера для любителей десктоп-приложений, вот только под формат веба оно все-таки не очень подходит.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35392060
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зыкак-то йа зло написал, опять бизнес-линча начиталсо )
короче, добавь редактирование введеного текста, не надо лочить ввод и оставлять только стрелки. И будет копия дейтпикера для любителей десктоп-приложений, вот только под формат веба оно все-таки не очень подходит.
Так ведь и введут - чё захочитсё, ёлки-палки (как в том же extjs, например). А я ведь, (здесь нехорошие слова) ё.., какраз и пешу под бывших десктоперов, а не под дурнет. Не закончино ещё. Сделаю, чтобы в объектах класса было и т.д. Кстати, насчёт онмоуседоун - тоже решил проблему (правда через ж). Большое спасибо за комментарий.
---------
ЗЫ Попробую сделать хорошо - но щас время нету (юзаю линку и клиентсофтварефактори, твоють).
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35392082
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я ищо посмотрел код немного. Первый и главный коммент - нифига не модульно, спрячь функции из глобального неймспейса куда-нить.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35392136
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы...спрячь функции из глобального неймспейса куда-нить.
Так ведь я же о том и говорю (типа объекты типа календуря, т.е. вещь в себе - время нету дописать). Кстати, ета самая фигня с календурём (хе-хе) очень нравиццо аспнет программерам. Типа натянул CssClass на текстбокс, вставил строчку со ссылкой на яс - и всё (можно и не вставлять, если на мастерпаже).
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35392317
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, тут можно о восприятии спорить и спорить ...
Я благодарен Сержу именно за идею и за то, что он выложил это у меня перед носом и причем именно тогда, когда это понадобилось. Мне не надо лазить по инету, сравнивать на нужность и применимость, выдергивать код из общего кода и т.д., как говорится, в чистом виде.
В функциональности меня тоже не устроили некоторые вещи (кстати, о некоторых сказал зы и я с ним согласен), я взял код, прогнал его через себя и возникшие потребности и получил то, что мне надо было ... (кстати, у меня просто бзик на аккуратности в форматировании и стандартизации кода - тут пришлось чуть повозиться).
Но копирайты остаются у Сержа , равно как и респекты :). Обещаю поддержать все оговоренные выше предполагаемые компоненты.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35392334
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckНу, тут можно о восприятии спорить и спорить ...
зыА могло бы быть все намного проще и полезнее. Например, ввел "tomorrow", убрал фокус - подставилась нужная дата. Или ввел "04 jan", убрал фокус, появилось "04.01.2008" и т.п.
мда, спорить и спорить. Например, с точки зрения меня и моих пользователей это ааабсолютно бесполезная фича. Как говорится, на вкус и цвет фломастеров нет.

на мой взгляд существенных недостатка два:
1. нельзя не-стрелками отредактировать часть даты (например, нельзя подправить месяц). (я читала про "Так ведь и введут - чё захочитсё, ёлки-палки", но это можно урегулировать по окончании ввода)
2. среднестатистический пользователь никогда не узнает о возможностях календаря (о тех же стрелках, например), если а) он не прочитает мануал к сайту или приложению, б) я не покажу ему это собственноручно, в) я не размещу мануал к календарю прямо под календарем. На первое рассчитывать не приходится, второе нереально, третье глупо. Итого остается "пользователь никогда не узнает о возможностях календаря". И будет страшно мучаться, пытаясь отредактировать дату.

IDVsbruckОбещаю поддержать все оговоренные выше предполагаемые компоненты.
да, тем более что сессия у студентов уже закончилась, количество вопросов на форумах сократилось, а отвлечься на что-то хочется :-))
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35393279
Фотография Shredder2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shredder2003в календарике не хватило следующего:
1. при вводе в поле двузначного числа и выхода из поля ("Tab") к введённой дате должен быть добавлен текущий месяц и год.
т.е. если я ввожу "25", то это значит, что я хочу ввести 25-е чисто текущего месяца.
2. тоже если ввожу 4 числа, чтобы подставлял год.

ещё забыл фичи, но они уже пореже используются:
1. если вводишь "+3", то это значит, что через три дня, т.е. к текущей дате прибавить 3 дня и полученную дату вывести
2. если вводишь "-3", то это значит, что три дня назад, т.е. от текущей даты отнять 3 дня и полученную дату вывести
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35393329
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shredder2003ещё забыл фичи, но они уже пореже используются:
1. если вводишь "+3", то это значит, что через три дня, т.е. к текущей дате прибавить 3 дня и полученную дату вывести
2. если вводишь "-3", то это значит, что три дня назад, т.е. от текущей даты отнять 3 дня и полученную дату вывести

вот уж точно понадобится к календарю мануал на трех форматах А4.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35483010
nickstarnew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как сделать, чтобы календарь появлялся не под списком а справа от него, и фон был не прозрачный?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35484006
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nickstarnewА как сделать, чтобы календарь появлялся не под списком а справа от него, и фон был не прозрачный?
Кое-что из внешнего вида можно подобрать с помощью CSS, а позиционирование - немного программу переделать. К сожалению, более подробно не могу ответить - нахожусь в отпуске (хе-хе) интернет - диалап+ИЕ5.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35488231
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто посмотреть немного код и поменять его. Там есть функция, которая находит абсолютные координаты строки ввода (как уже говорил, впервые столкнулся с такой реализацией у Паскарелло в "АДЖАКС в действии"). Надо просто добавить немного "отсебятины: разместить не под ним добавлением высоты элемента, а наоборот - ширины. Ничего сложного, 5 минут в коде и все будет понятно (кроме названий переменных :), с которыми наш уважаемый автор не очень дружит).
По фону еще проще - CSS там же и проблемы заменить фон нет никакой.

P.S. Тоже нахожусь в отпуске и пишу прямо с шезлонга с берега Эгейского моря. WiFi рулит!!!
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35488345
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckP.S. Тоже нахожусь в отпуске и пишу прямо с шезлонга с берега Эгейского моря. WiFi рулит!!!
Везёт же некоторым. Я вот только сегодня в 5 часов приехал домой (с дочкой у родителей на Украине был). Я думаю, что календарик, конечно надо сделать получше, особенно, если учесть, что он многим нужен (и мне тоже). Фигня заключается в том, что одним так, а одним эдак хочется.
Усовершенствовать его надо, я предполагаю, следующим образом:
1. использовать всё-таки атрибуты тэгов (т.е. input type=text behavior=calendar). Для примера.
2. ты уже писал, типа про объекты класса - ага.
Ясен перец, все мульки и приблуды должны задаваться CSS.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35555051
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeТри дня искал в дурнете нормальный ввод даты - не нашёл. То - или сервер юзает, то - или можно ручками, или календарём, то - валидация на сервере. Взял и написал (целых 2 дня угрохал) Jскрипт. Нужно только соответствующий класс инпуту (может быть их скоко угодно) присвоить (инпут д.б. на форме). В хтмл-исходнике написано как. Короче, неделю убил. Мой исходник заканчивается закрывающим тэгом боди. Остальное присобачивается бесплатным хостингом. Код, конечно - хреновый, за исключением копипастинга с постов илион у нас на форуме. Вот здесь . Если не влом - пишите.
а мне понравилось очень. красивенько так и удобно. код не смотрел, оценить не могу. но раз работает значит код правильный.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35555342
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я решил в конец-концов, не делать законченный продукт. Просто идея, которую кто как угодно может реализовать. Это официальная версия, а на самом деле, мне надоело уже копипастить готовые решения и разбирать их (не мои) глюки. Похоже, нынешние "веб-программисты" тем и занимаются. ЗЫ не даст соврать, он, похоже, джедай в этих "передовых технологиях".
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35555355
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше сосредоточиться на usability и функционале, чем хуярить UI клоны и разбирать межбраузерные глюки, особенно если мозгов для этого не хватает. Дал одному вроде бы мозговитому программисту стырить инпут в стиле фейсбука, засрал весь мой прототип, потратил месяц, нихрена не сделал, уволили с проекта, за идею обидно.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35555359
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
епта, кто ж знал что тут работает ctrl+enter :)
в общем я что хотел сказать, придумывать что-то новое хорошо, если оно гениально, и если силы позволяют сделать это в разумные сроки. Примеров гениальности много, если нравится - лучше сразу стырить, не ломая мозг, приделав свою фишку. Сейчас время такое, все друг у друга тырят, это не зазорно :)
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35562428
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На то он и Javascript ...
Кстати, а если я меняю контент динамически аджаксом вместе со скриптами, можно ли увидеть скрипт? - Мнения витали и вроде как нельзя, но лично для себя я на этот вопрос до конца не ответил.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35562488
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фиребуг, например, один хрен его покажет.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35562537
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35562584
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
откуда-то ведь тебе надо будет стырить яваскрипт, этот момент можно перехватить, например
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35562649
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне тырять ничего не надо, мне интересно или мой могут ...
И все же, реально, как и чем можно просмотреть? Я знаю и адрес, и содержимое, так как сам делал, но посмотреть на странице не могу. Может надо использовать какой-то плагин?
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35562663
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, есть. Точно.
Плагин Web Developer, выбираем View Generated Source и видим полученную страницу.
Спасибо.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35562669
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю о чём ты. У меня динамически подгружаются скрипты и прекрасно всё видно firebug'ом. Даже данные JSON, которые я подгружаю. Надо бы конечно грохать скрипты, когда они уже не нужны. Забыл просто. Вот из-под фиребуга всё видно.
...
Рейтинг: 0 / 0
Изобрёл велосипед
    #35563291
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прикол! Дома захожу на этот свой сайт, что выше тынц, - не пускает касперский интернет секурити. Хе-хе!
...
Рейтинг: 0 / 0
94 сообщений из 94, показаны все 4 страниц
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Изобрёл велосипед
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]