powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Календарик.
17 сообщений из 17, страница 1 из 1
Календарик.
    #36365992
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скачал календарик на джаваскрипте поставил. Работает нормально но сцуко выводится постоянно в левом верхнем углу.
Просмотрел его исходы

Код: plaintext
1.
2.
3.
4.
5.
6.
document.write('<table id="fc" style="position:absolute;border-collapse:collapse;background:#FFFFFF;border:1px solid #cccccc;display:none" cellpadding=2>');

document.write('<tr><td style="cursor:pointer" onclick="csubm()"><<</td><td colspan=5 id="mns" align="center" style="font:bold 13px Arial"></td><td align="right" style="cursor:pointer" onclick="caddm()">>></td></tr>');

document.write('<tr><td align=center style="background:#f0f1ec;font:12px Arial">Пн</td><td align=center style="background:#f0f1ec;font:12px Arial">Вт</td><td align=center style="background:#f0f1ec;font:12px Arial">Ср</td><td align=center style="background:#f0f1ec;font:12px Arial">Чт</td><td align=center style="background:#f0f1ec;font:12px Arial">Пт</td><td align=center style="background:#f0f1ec;font:12px Arial">Сб</td><td align=center style="background:#f0f1ec;font:12px Arial">Вс</td></tr>');


Это место где собственно рисуется календарь. Как его поменять что-то не пойму.
Или дайте кто нибудь ссылку на проверенный календарь. А то что не поставлю то фигня какая-то.
...
Рейтинг: 0 / 0
Календарик.
    #36365997
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про document.write забудь. Считай, что нет его.
...
Рейтинг: 0 / 0
Календарик.
    #36366018
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeПро document.write забудь. Считай, что нет его.

Спасибо. Еще будут советы?
...
Рейтинг: 0 / 0
Календарик.
    #36366022
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EsofterShSergeПро document.write забудь. Считай, что нет его.

Спасибо. Еще будут советы?
Вообще-то, здесь на форуме любят отвечать на ответы, когда примерчик можно скопипастить и запустить. Вот - совет.
...
Рейтинг: 0 / 0
Календарик.
    #36366023
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, не на "ответы", а на "вопросы".
...
Рейтинг: 0 / 0
Календарик.
    #36366027
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeEsofterShSergeПро document.write забудь. Считай, что нет его.

Спасибо. Еще будут советы?
Вообще-то, здесь на форуме любят отвечать на ответы, когда примерчик можно скопипастить и запустить. Вот - совет.

Календарь прикрепил. Цыпляется к инпуту так

Код: plaintext
1.
2.
<input name="date" id="" 
onfocus="this.select();lcs(this)" onclick="event.cancelBubble=true;this.select();lcs(this)" />
...
Рейтинг: 0 / 0
Календарик.
    #36366117
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел на джейквери хороший календарь. Этот сразу снес нах.
...
Рейтинг: 0 / 0
Календарик.
    #36366164
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снова проблемы теперь уже с джейквери календарем.
Подключил, все нормально. Но когда передаю значение по пост - массиву, ошибка - такого значения нет в массиве.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<script type="text/javascript">
	$(function() {
		$('#date').datepicker({
			showButtonPanel: true
		});
	});
	</script>

...
<form action="http://udc.ua/admin/news/edit_new?nid=1" method="post">
<input type="text" id="date">
...


Какое имя у пикера при передаче его значения в пост массив?
...
Рейтинг: 0 / 0
Календарик.
    #36366165
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фальшивая тревога.
...
Рейтинг: 0 / 0
Календарик.
    #36375872
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снова проблемы с календарем .
Скачал, в примере он выводится как надо, под полями для ввода. А у меня почему-то вверху страницы.

Код календаря


Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
function getObj(objID)
{
    if (document.getElementById) {return document.getElementById(objID);}
    else if (document.all) {return document.all[objID];}
    else if (document.layers) {return document.layers[objID];}
}

function checkClick(e) {
	e?evt=e:evt=event;
	CSE=evt.target?evt.target:evt.srcElement;
	if (getObj('fc'))
		if (!isChild(CSE,getObj('fc')))
			getObj('fc').style.display='none';
}

function isChild(s,d) {
	while(s) {
		if (s==d) 
			return true;
		s=s.parentNode;
	}
	return false;
}

function Left(obj)
{
	var curleft =  0 ;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function Top(obj)
{
	var curtop =  0 ;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

// Calendar script
var now = new Date;
var sccd=now.getDate();
var sccm=now.getMonth();
var sccy=now.getFullYear();
var ccm=now.getMonth();
var ccy=now.getFullYear();
	 
document.write('<table id="fc" style="position:absolute;border-collapse:collapse;background:#FFFFFF;border:1px solid #303030;display:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;" cellpadding=2>');
document.write('<tr style="font:bold 13px Arial"><td style="cursor:pointer;font-size:15px" onclick="csubm()">«</td><td colspan="5" id="mns" align="center"></td><td align="right" style="cursor:pointer;font-size:15px" onclick="caddm()">»</td></tr>');
document.write('<tr style="background:#FF9900;font:12px Arial;color:#FFFFFF"><td align=center>П</td><td align=center>В</td><td align=center>С</td><td align=center>Ч</td><td align=center>П</td><td align=center>С</td><td align=center>В</td></tr>');
for(var kk= 1 ;kk<= 6 ;kk++) {
	document.write('<tr>');
	for(var tt= 1 ;tt<= 7 ;tt++) {
		num= 7  * (kk- 1 ) - (-tt);
		document.write('<td id="v' + num + '" style="width:18px;height:18px"> </td>');
	}
	document.write('</tr>');
}
document.write('<tr><td colspan="7" align="center" style="cursor:pointer;font:13px Arial;background:#FFC266" onclick="today()">Сегодня: '+addnull(sccd,sccm+ 1 ,sccy)+'</td></tr>');
document.write('</table>');

document.all?document.attachEvent('onclick',checkClick):document.addEventListener('click',checkClick,false);




var updobj;
function lcs(ielem) {
	updobj=ielem;
	getObj('fc').style.left=Left(ielem);
	getObj('fc').style.top=Top(ielem)+ielem.offsetHeight;
	getObj('fc').style.display='';
	
	// First check date is valid
	curdt=ielem.value;
	curdtarr=curdt.split('-');
	isdt=true;
	for(var k= 0 ;k<curdtarr.length;k++) {
		if (isNaN(curdtarr[k]))
			isdt=false;
	}
	if (isdt&(curdtarr.length== 3 )) {
		ccm=curdtarr[ 1 ]- 1 ;
		ccy=curdtarr[ 2 ];
		prepcalendar(curdtarr[ 0 ],curdtarr[ 1 ]- 1 ,curdtarr[ 2 ]);
	}
	
}

function evtTgt(e)
{
	var el;
	if(e.target)el=e.target;
	else if(e.srcElement)el=e.srcElement;
	if(el.nodeType== 3 )el=el.parentNode; // defeat Safari bug
	return el;
}
function EvtObj(e){if(!e)e=window.event;return e;}
function cs_over(e) {
	evtTgt(EvtObj(e)).style.background='#FFEBCC';
}
function cs_out(e) {
	evtTgt(EvtObj(e)).style.background='#FFFFFF';
}
function cs_click(e) {
	updobj.value=calvalarr[evtTgt(EvtObj(e)).id.substring( 1 ,evtTgt(EvtObj(e)).id.length)];
	getObj('fc').style.display='none';
}

var mn=new Array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентрябрь','Октябрь','Ноябрь','Декабрь');
var mnn=new Array('31','28','31','30','31','30','31','31','30','31','30','31');
var mnl=new Array('31','29','31','30','31','30','31','31','30','31','30','31');
var calvalarr=new Array( 42 );

function f_cps(obj) {
	obj.style.background='#FFFFFF';
	obj.style.font='10px Arial';
	obj.style.color='#333333';
	obj.style.textAlign='center';
	obj.style.textDecoration='none';
	obj.style.border='1px solid #606060';
	obj.style.cursor='pointer';
}

function f_cpps(obj) {
	obj.style.background='#C4D3EA';
	obj.style.font='10px Arial';
	obj.style.color='#FF9900';
	obj.style.textAlign='center';
	obj.style.textDecoration='line-through';
	obj.style.border='1px solid #6487AE';
	obj.style.cursor='default';
}

function f_hds(obj) {
	obj.style.background='#FFF799';
	obj.style.font='bold 10px Arial';
	obj.style.color='#333333';
	obj.style.textAlign='center';
	obj.style.border='1px solid #6487AE';
	obj.style.cursor='pointer';
}

// day selected
function prepcalendar ( hd, cm, cy )
{
	now=new Date();
	sd=now.getDate();
	td=new Date();
	td.setDate( 1 );
	td.setFullYear(cy);
	td.setMonth(cm);
	cd=td.getDay();
	if (cd== 0 )cd= 6 ; else cd--;
	
	getObj('mns').innerHTML=mn[cm]+ ' ' + cy;
	
	marr=((cy% 4 )== 0 )?mnl:mnn;
	
	for(var d= 1 ;d<= 42 ;d++)
	{
		f_cps ( getObj ( 'v' + parseInt ( d ) ) );
		if ( ( d >= (cd -(- 1 ) ) ) && ( d<=cd-(-marr[cm]) ) )
		{
			getObj('v'+parseInt(d)).onmouseover=cs_over;
			getObj('v'+parseInt(d)).onmouseout=cs_out;
			getObj('v'+parseInt(d)).onclick=cs_click;
			
			// if today
			if (sccm == cm && sccd == (d-cd) && sccy == cy)
				getObj('v'+parseInt(d)).style.color='#FF9900';

			getObj('v'+parseInt(d)).innerHTML=d-cd;
				
			calvalarr[d]=addnull(d-cd,cm-(- 1 ),cy);
		}
		else
		{
			getObj('v'+d).innerHTML=' ';
			getObj('v'+parseInt(d)).onmouseover=null;
			getObj('v'+parseInt(d)).onmouseout=null;
			getObj('v'+parseInt(d)).onclick=null;
			getObj('v'+parseInt(d)).style.cursor='default';
		}
	}
}

prepcalendar('',ccm,ccy);

function caddm() {
	marr=((ccy% 4 )== 0 )?mnl:mnn;
	
	ccm+= 1 ;
	if (ccm>= 12 ) {
		ccm= 0 ;
		ccy++;
	}
	prepcalendar('',ccm,ccy);
}

function csubm() {
	marr=((ccy% 4 )== 0 )?mnl:mnn;

	ccm-= 1 ;
	if (ccm< 0 ) {
		ccm= 11 ;
		ccy--;
	}
	prepcalendar('',ccm,ccy);
}

function today() {
	updobj.value=addnull(now.getDate(),now.getMonth()+ 1 ,now.getFullYear());
	getObj('fc').style.display='none';
	prepcalendar('',sccm,sccy);
}

function addnull(d,m,y)
{
	var d0='',m0='';
	if (d< 10 )d0='0';
	if (m< 10 )m0='0';
	
	return ''+d0+d+'-'+m0+m+'-'+y;
}


устанавливается так

Код: plaintext
<input type="text"  value="" onfocus="this.select();lcs(this)" onclick="event.cancelBubble=true;this.select();lcs(this)">

Подскажите что поменять.
Заранее спасибо.
...
Рейтинг: 0 / 0
Календарик.
    #36376864
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой какой листинг большой! напиши уже свой и не мучайся))) реально будет быстрее. из личного опыта скажу: где-то часов 8 ушло максимум, а ты уже дней 5 маешься
...
Рейтинг: 0 / 0
Календарик.
    #36541134
rkazanova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
esofter
нашел ли ті ответ на последний вопрос, таже фигня.
в ие нормально в мазиле в хроме левій верхний угол
...
Рейтинг: 0 / 0
Календарик.
    #36541205
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю всё дело в функциях left(obj) и top(obj)
...
Рейтинг: 0 / 0
Календарик.
    #36541403
rkazanova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EmilRegisдумаю всё дело в функциях left(obj) и top(obj)

ты прав, вот только что там нужно поменять чтоб появилась кросбраузерность, ведь код был еще написанв 2001-2002 годах, тогда все делалось под ИЕ
...
Рейтинг: 0 / 0
Календарик.
    #36541427
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну не знаю...
может как-то так попробовать? вместо obj.y например
Код: plaintext
1.
2.
3.
FF=navigator.appName=="Netscape";   
................
FF?obj.pageY:obj.y
...
Рейтинг: 0 / 0
Календарик.
    #36541579
rkazanova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EmilRegisну не знаю...
может как-то так попробовать? вместо obj.y например
Код: plaintext
1.
2.
3.
FF=navigator.appName=="Netscape";   
................
FF?obj.pageY:obj.y

извини, но куда это написать? я не знаю, не силен.
unction Top(obj)
{
var curtop = 0;
if (obj.offsetParent)
{
while (obj.offsetParent)
{
curtop += obj.offsetTop
obj = obj.offsetParent;
}
}
else if (obj.y)
curtop += obj.y;
return curtop;
}
...
Рейтинг: 0 / 0
Календарик.
    #36541592
rkazanova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, разобрался, решение другое, пишите, если кому надо
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Календарик.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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