Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Календарик. / 17 сообщений из 17, страница 1 из 1
14.12.2009, 22:03:06
    #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
14.12.2009, 22:09:42
    #36365997
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
Про document.write забудь. Считай, что нет его.
...
Рейтинг: 0 / 0
14.12.2009, 22:23:54
    #36366018
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
ShSergeПро document.write забудь. Считай, что нет его.

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

Спасибо. Еще будут советы?
Вообще-то, здесь на форуме любят отвечать на ответы, когда примерчик можно скопипастить и запустить. Вот - совет.
...
Рейтинг: 0 / 0
14.12.2009, 22:29:54
    #36366023
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
Пардон, не на "ответы", а на "вопросы".
...
Рейтинг: 0 / 0
14.12.2009, 22:41:04
    #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
15.12.2009, 00:43:49
    #36366117
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
Нашел на джейквери хороший календарь. Этот сразу снес нах.
...
Рейтинг: 0 / 0
15.12.2009, 02:59:32
    #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
15.12.2009, 03:03:01
    #36366165
Esofter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
Фальшивая тревога.
...
Рейтинг: 0 / 0
19.12.2009, 22:06:04
    #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
21.12.2009, 06:20:21
    #36376864
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
ой какой листинг большой! напиши уже свой и не мучайся))) реально будет быстрее. из личного опыта скажу: где-то часов 8 ушло максимум, а ты уже дней 5 маешься
...
Рейтинг: 0 / 0
25.03.2010, 00:42:59
    #36541134
rkazanova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
esofter
нашел ли ті ответ на последний вопрос, таже фигня.
в ие нормально в мазиле в хроме левій верхний угол
...
Рейтинг: 0 / 0
25.03.2010, 06:31:43
    #36541205
EmilRegis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
думаю всё дело в функциях left(obj) и top(obj)
...
Рейтинг: 0 / 0
25.03.2010, 09:56:19
    #36541403
rkazanova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
EmilRegisдумаю всё дело в функциях left(obj) и top(obj)

ты прав, вот только что там нужно поменять чтоб появилась кросбраузерность, ведь код был еще написанв 2001-2002 годах, тогда все делалось под ИЕ
...
Рейтинг: 0 / 0
25.03.2010, 10:10:21
    #36541427
EmilRegis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
ну не знаю...
может как-то так попробовать? вместо obj.y например
Код: plaintext
1.
2.
3.
FF=navigator.appName=="Netscape";   
................
FF?obj.pageY:obj.y
...
Рейтинг: 0 / 0
25.03.2010, 10:56:08
    #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
25.03.2010, 11:02:59
    #36541592
rkazanova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Календарик.
Всем спасибо, разобрался, решение другое, пишите, если кому надо
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Календарик. / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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