0 / 0 / 1
Регистрация: 26.03.2017
Сообщений: 83
1

Календарь

22.10.2017, 00:11. Показов 840. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйе, дорогие форумчане! Помогите разобраться с календарём, а именно исправить нынешний вариант, на календарь, с возможностью выбирать отдельно месяц и год, и чтобы выбранные пользователем данные (месяц и год) выводились в форму.

Вот исходный код календаря:

calendar.css

CSS
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
/* input box in default state */
.calendarInput {
    background: url('../img/calendar/cal.gif') 100% 50% no-repeat;
    padding-right: 20px;
    cursor: pointer;
}
 
/* additional properties for input boxe in activated state, above still applies unless in conflict */
.calendarActive {
    background-image: url('../img/calendar/no_cal.gif');
}
/* container of calendar's pop-up */
#calendar {
    position: absolute;
    visibility: hidden;
    z-index: 100;
    width: 170px;
    background-color: white;
    margin-top: 2px;
    padding: 0 2px 2px 2px;
    border: 1px solid silver;
 
    -moz-box-shadow: 3px 3px 4px silver;
    -webkit-box-shadow: 3px 3px 4px silver;
    box-shadow: 3px 3px 4px silver;
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='silver')";
    filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='silver');
}
 
/* table containing navigation and current month */
#calendarControls {
    border-collapse: collapse;
    border: 0;
    width: 100%;
}
#calendarControls td {
    border-collapse: collapse;
    border: 0;
    padding: 0;
    width: 16px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    cursor: pointer;
}
#calendarControls th {
    border-collapse: collapse;
    border: 0;
    padding: 0;
    line-height: 25px;
    font-size: 10px;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-weight: bold;
    white-space: nowrap;
}
#calendarPrevYear { background-image: url('../img/calendar/prev_year.gif'); }
#calendarPrevMonth { background-image: url('../img/calendar/prev_mon.gif'); }
#calendarNextMonth { background-image: url('../img/calendar/next_mon.gif'); }
#calendarNextYear { background-image: url('../img/calendar/next_year.gif'); }
 
/* table containing week days header and calendar grid */
#calendarGrid {
    border-collapse: collapse;
    border: 1px solid silver;
    width: 100%;
}
#calendarGrid th {
    border: 1px solid silver;
    border-collapse: collapse;
    padding: 3px 0;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 10px;
    background-color: gray;
    color: white;
}
#calendarGrid td {
    border: 0;
    border-collapse: collapse;
    padding: 2px 0;
    text-align: center;
    font-family: Tahoma, Geneva, sans-serif;
    width: 14%;
    font-size: 11px;
    cursor: pointer;
}
#calendarGrid td.calendarOtherMonth { color: silver; }
#calendarGrid td.calendarWeekend { background-color: #ACD6F5; }
#calendarGrid td.calendarToday { border: 1px solid red; }
#calendarGrid td.calendarSelected { background-color: #FFB3BE; }
calendar.js

Javascript
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
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
// default settins - this structure can be moved in separate file in multilangual applications
var A_TCALCONF = {
    'cssprefix'  : 'calendar',
    'months'     : ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
    'weekdays'   : ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],
    'longwdays'  : ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
    'yearscroll' : true, // show year scroller
    'weekstart'  : 0, // first day of week: 0-Su or 1-Mo
    'prevyear'   : 'Предыдущий год',
    'nextyear'   : 'Следующий год',
    'prevmonth'  : 'Предыдущий месяц',
    'nextmonth'  : 'Следующий месяц',
    'format'     : 'm/d/Y' // 'd-m-Y', Y-m-d', 'l, F jS Y'
};
 
var A_TCALTOKENS = [
     // A full numeric representation of a year, 4 digits
    {'t': 'Y', 'r': '19\\d{2}|20\\d{2}', 'p': function (d_date, n_value) { d_date.setFullYear(Number(n_value)); return d_date; }, 'g': function (d_date) { var n_year = d_date.getFullYear(); return n_year; }},
     // Numeric representation of a month, with leading zeros
    {'t': 'm', 'r': '0?[1-9]|1[0-2]', 'p': function (d_date, n_value) { d_date.setMonth(Number(n_value) - 1); return d_date; }, 'g': function (d_date) { var n_month = d_date.getMonth() + 1; return (n_month < 10 ? '0' : '') + n_month }},
     // A full textual representation of a month, such as January or March
    {'t': 'F', 'r': A_TCALCONF.months.join('|'), 'p': function (d_date, s_value) { for (var m = 0; m < 12; m++) if (A_TCALCONF.months[m] == s_value) { d_date.setMonth(m); return d_date; }}, 'g': function (d_date) { return A_TCALCONF.months[d_date.getMonth()]; }},
     // Day of the month, 2 digits with leading zeros
    {'t': 'd', 'r': '0?[1-9]|[12][0-9]|3[01]', 'p': function (d_date, n_value) { d_date.setDate(Number(n_value)); if (d_date.getDate() != n_value) d_date.setDate(0); return d_date }, 'g': function (d_date) { var n_date = d_date.getDate(); return (n_date < 10 ? '0' : '') + n_date; }},
    // Day of the month without leading zeros
    {'t': 'j', 'r': '0?[1-9]|[12][0-9]|3[01]', 'p': function (d_date, n_value) { d_date.setDate(Number(n_value)); if (d_date.getDate() != n_value) d_date.setDate(0); return d_date }, 'g': function (d_date) { var n_date = d_date.getDate(); return n_date; }},
     // A full textual representation of the day of the week
    {'t': 'l', 'r': A_TCALCONF.longwdays.join('|'), 'p': function (d_date, s_value) { return d_date }, 'g': function (d_date) { return A_TCALCONF.longwdays[d_date.getDay()]; }},
    // English ordinal suffix for the day of the month, 2 characters
    {'t': 'S', 'r': 'st|nd|rd|th', 'p': function (d_date, s_value) { return d_date }, 'g': function (d_date) { n_date = d_date.getDate(); if (n_date % 10 == 1 && n_date != 11) return 'st'; if (n_date % 10 == 2 && n_date != 12) return 'nd'; if (n_date % 10 == 3 && n_date != 13) return 'rd'; return 'th'; }}
 
];
 
function f_tcalGetHTML (d_date) {
 
    var e_input = f_tcalGetInputs(true);
    if (!e_input) return;
 
    var s_pfx = A_TCALCONF.cssprefix,
        s_format = A_TCALCONF.format;
 
    // today from config or client date
    var d_today = f_tcalParseDate(A_TCALCONF.today, A_TCALCONF.format);
    if (!d_today)
        d_today = f_tcalResetTime(new Date());
 
    // selected date from input or config or today
    var d_selected = f_tcalParseDate(e_input.value, s_format);
    if (!d_selected)
        d_selected = f_tcalParseDate(A_TCALCONF.selected, A_TCALCONF.format);
    if (!d_selected)
        d_selected = new Date(d_today);
 
    // show calendar for passed or selected date
    d_date = d_date ? f_tcalResetTime(d_date) : new Date(d_selected);
 
    var d_firstDay = new Date(d_date);
    d_firstDay.setDate(1);
    d_firstDay.setDate(1 - (7 + d_firstDay.getDay() - A_TCALCONF.weekstart) % 7);
 
    var a_class, s_html = '<table id="' + s_pfx + 'Controls"><tbody><tr>'
        + (A_TCALCONF.yearscroll ? '<td id="' + s_pfx + 'PrevYear" ' + f_tcalRelDate(d_date, -1, 'y') + ' title="' + A_TCALCONF.prevyear + '"></td>' : '')
        + '<td id="' + s_pfx + 'PrevMonth"' + f_tcalRelDate(d_date, -1) + ' title="' + A_TCALCONF.prevmonth + '"></td><th>'
        + A_TCALCONF.months[d_date.getMonth()] + ' ' + d_date.getFullYear()
        + '</th><td id="' + s_pfx + 'NextMonth"' + f_tcalRelDate(d_date, 1) + ' title="' + A_TCALCONF.nextmonth + '"></td>'
        + (A_TCALCONF.yearscroll ? '<td id="' + s_pfx + 'NextYear"' + f_tcalRelDate(d_date, 1, 'y') + ' title="' + A_TCALCONF.nextyear + '"></td>' : '')
        + '</tr></tbody></table><table id="' + s_pfx + 'Grid"><tbody><tr>';
 
    // print weekdays titles
    for (var i = 0; i < 7; i++)
        s_html += '<th>' + A_TCALCONF.weekdays[(A_TCALCONF.weekstart + i) % 7] + '</th>';
    s_html += '</tr>' ;
 
    // print calendar table
    var n_date, n_month, d_current = new Date(d_firstDay);
    while (d_current.getMonth() == d_date.getMonth() ||
        d_current.getMonth() == d_firstDay.getMonth()) {
 
        s_html +='<tr>';
        for (var n_wday = 0; n_wday < 7; n_wday++) {
 
            a_class = [];
            n_date  = d_current.getDate();
            n_month = d_current.getMonth();
 
            if (d_current.getMonth() != d_date.getMonth())
                a_class[a_class.length] = s_pfx + 'OtherMonth';
            if (d_current.getDay() == 0 || d_current.getDay() == 6)
                a_class[a_class.length] = s_pfx + 'Weekend';
            if (d_current.valueOf() == d_today.valueOf())
                a_class[a_class.length] = s_pfx + 'Today';
            if (d_current.valueOf() == d_selected.valueOf())
                a_class[a_class.length] = s_pfx + 'Selected';
 
            s_html += '<td' + f_tcalRelDate(d_current) + (a_class.length ? ' class="' + a_class.join(' ') + '">' : '>') + n_date + '</td>';
            d_current.setDate(++n_date);
        }
        s_html +='</tr>';
    }
    s_html +='</tbody></table>';
 
    return s_html;
}
 
function f_tcalRelDate (d_date, d_diff, s_units) {
 
    var s_units = (s_units == 'y' ? 'FullYear' : 'Month');
    var d_result = new Date(d_date);
    if (d_diff) {
        d_result['set' + s_units](d_date['get' + s_units]() + d_diff);
        if (d_result.getDate() != d_date.getDate())
            d_result.setDate(0);
    }
    return ' onclick="f_tcalUpdate(' + d_result.valueOf() + (d_diff ? ',1' : '') + ')"';
}
 
function f_tcalResetTime (d_date) {
    d_date.setMilliseconds(0);
    d_date.setSeconds(0);
    d_date.setMinutes(0);
    d_date.setHours(12);
    return d_date;
}
 
// closes calendar and returns all inputs to default state
function f_tcalCancel () {
 
    var s_pfx = A_TCALCONF.cssprefix;
    var e_cal = document.getElementById(s_pfx);
    if (e_cal)
        e_cal.style.visibility = '';
    var a_inputs = f_tcalGetInputs();
    for (var n = 0; n < a_inputs.length; n++)
        f_tcalRemoveClass(a_inputs[n], s_pfx + 'Active');
}
 
function f_tcalUpdate (n_date, b_keepOpen) {
 
    var e_input = f_tcalGetInputs(true);
    if (!e_input) return;
 
    d_date = new Date(n_date);
    var s_pfx = A_TCALCONF.cssprefix;
 
    if (b_keepOpen) {
        var e_cal = document.getElementById(s_pfx);
        if (!e_cal || e_cal.style.visibility != 'visible') return;
        e_cal.innerHTML = f_tcalGetHTML(d_date, e_input);
    }
    else {
        e_input.value = f_tcalGenerateDate(d_date, A_TCALCONF.format);
        f_tcalCancel();
    }
}
 
function f_tcalOnClick () {
 
    // see if already opened
    var s_pfx = A_TCALCONF.cssprefix;
    var s_activeClass = s_pfx + 'Active';
    var b_close = f_tcalHasClass(this, s_activeClass);
 
    // close all clalendars
    f_tcalCancel();
    if (b_close) return;
 
    // get position of input
    f_tcalAddClass(this, s_activeClass);
 
    var n_left = f_getPosition (this, 'Left'),
        n_top  = f_getPosition (this, 'Top') + this.offsetHeight;
 
    var e_cal = document.getElementById(s_pfx);
    if (!e_cal) {
        e_cal = document.createElement('div');
        e_cal.onselectstart = function () { return false };
        e_cal.id = s_pfx;
        document.getElementsByTagName("body").item(0).appendChild(e_cal);
    }
    e_cal.innerHTML = f_tcalGetHTML(null);
    e_cal.style.top = n_top + 'px';
    e_cal.style.left = (n_left + this.offsetWidth - e_cal.offsetWidth) + 'px';
    e_cal.style.visibility = 'visible';
}
 
function f_tcalParseDate (s_date, s_format) {
 
    if (!s_date) return;
 
    var s_char, s_regexp = '^', a_tokens = {}, a_options, n_token = 0;
    for (var n = 0; n < s_format.length; n++) {
        s_char = s_format.charAt(n);
        if (A_TCALTOKENS_IDX[s_char]) {
            a_tokens[s_char] = ++n_token;
            s_regexp += '(' + A_TCALTOKENS_IDX[s_char]['r'] + ')';
        }
        else if (s_char == ' ')
            s_regexp += '\\s';
        else
            s_regexp += (s_char.match(/[\w\d]/) ? '' : '\\') + s_char;
    }
    var r_date = new RegExp(s_regexp + '$');
    if (!s_date.match(r_date)) return;
 
    var s_val, d_date = f_tcalResetTime(new Date());
    d_date.setDate(1);
 
    for (n = 0; n < A_TCALTOKENS.length; n++) {
        s_char = A_TCALTOKENS[n]['t'];
        if (!a_tokens[s_char])
            continue;
        s_val = RegExp['$' + a_tokens[s_char]];
        d_date = A_TCALTOKENS[n]['p'](d_date, s_val);
    }
 
    return d_date;
}
 
function f_tcalGenerateDate (d_date, s_format) {
 
    var s_char, s_date = '';
    for (var n = 0; n < s_format.length; n++) {
        s_char = s_format.charAt(n);
        s_date += A_TCALTOKENS_IDX[s_char] ? A_TCALTOKENS_IDX[s_char]['g'](d_date) : s_char;
    }
    return s_date;
}
 
function f_tcalGetInputs (b_active) {
 
    var a_inputs = document.getElementsByTagName('input'),
        e_input, s_rel, a_result = [];
 
    for (n = 0; n < a_inputs.length; n++) {
 
        e_input = a_inputs[n];
        if (!e_input.type || e_input.type != 'text')
            continue;
 
        if (!f_tcalHasClass(e_input, 'tcal'))
            continue;
 
        if (b_active && f_tcalHasClass(e_input, A_TCALCONF.cssprefix + 'Active'))
            return e_input;
 
        a_result[a_result.length] = e_input;
    }
    return b_active ? null : a_result;
}
 
function f_tcalHasClass (e_elem, s_class) {
    var s_classes = e_elem.className;
    if (!s_classes)
        return false;
    var a_classes = s_classes.split(' ');
    for (var n = 0; n < a_classes.length; n++)
        if (a_classes[n] == s_class)
            return true;
    return false;
}
 
function f_tcalAddClass (e_elem, s_class) {
    if (f_tcalHasClass (e_elem, s_class))
        return;
 
    var s_classes = e_elem.className;
    e_elem.className = (s_classes ? s_classes + ' ' : '') + s_class;
}
 
function f_tcalRemoveClass (e_elem, s_class) {
    var s_classes = e_elem.className;
    if (!s_classes || s_classes.indexOf(s_class) == -1)
        return false;
 
    var a_classes = s_classes.split(' '),
        a_newClasses = [];
 
    for (var n = 0; n < a_classes.length; n++) {
        if (a_classes[n] == s_class)
            continue;
        a_newClasses[a_newClasses.length] = a_classes[n];
    }
    e_elem.className = a_newClasses.join(' ');
    return true;
}
 
function f_getPosition (e_elemRef, s_coord) {
    var n_pos = 0, n_offset,
        e_elem = e_elemRef;
 
    while (e_elem) {
        n_offset = e_elem["offset" + s_coord];
        n_pos += n_offset;
        e_elem = e_elem.offsetParent;
    }
 
    e_elem = e_elemRef;
    while (e_elem != document.body) {
        n_offset = e_elem["scroll" + s_coord];
        if (n_offset && e_elem.style.overflow == 'scroll')
            n_pos -= n_offset;
        e_elem = e_elem.parentNode;
    }
    return n_pos;
}
 
function f_tcalInit () {
 
    if (!document.getElementsByTagName)
        return;
 
    var e_input, a_inputs = f_tcalGetInputs();
    for (var n = 0; n < a_inputs.length; n++) {
        e_input = a_inputs[n];
        e_input.onclick = f_tcalOnClick;
        f_tcalAddClass(e_input, A_TCALCONF.cssprefix + 'Input');
    }
 
    window.A_TCALTOKENS_IDX = {};
    for (n = 0; n < A_TCALTOKENS.length; n++)
        A_TCALTOKENS_IDX[A_TCALTOKENS[n]['t']] = A_TCALTOKENS[n];
}
 
function f_tcalAddOnload (f_func) {
    if (document.addEventListener) {
        window.addEventListener('load', f_func, false);
    }
    else if (window.attachEvent) {
        window.attachEvent('onload', f_func);
    }
    else {
        var f_onLoad = window.onload;
        if (typeof window.onload != 'function') {
            window.onload = f_func;
        }
        else {
            window.onload = function() {
                f_onLoad();
                f_func();
            }
        }
    }
}
 
f_tcalAddOnload (f_tcalInit);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2017, 00:11
Ответы с готовыми решениями:

Календарь JS
Привет! Помогите пожалуйста, разобраться. Делаю календарь. &lt;div id=&quot;calendar&quot;&gt;&lt;/div&gt; body{ ...

Поправить календарь
Здравствуйте! У меня есть программка простенького календарика: &lt;!-- Begin monthnames = new Array(...

Календарь на Javascript
Всем доброго времени суток. Вообщем ищу какое-нибудь готовое решение на js. Нужен календарь, что бы...

Календарь JS - getDay
привет! помогите понять что это и как это работает: function getRuLocaleWeekDay(computed_day) {...

10
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.10.2017, 01:04 2
Сначала название языка выучи, на котором пишешь
0
0 / 0 / 1
Регистрация: 26.03.2017
Сообщений: 83
22.10.2017, 15:50  [ТС] 3
xoraxax, что за такое неуважительное обращение? какое право вы имеете мне тыкать? Почему вы отвечаете мне в таком тоне? Что, человек не имеет право ошибиться? И простите, гений программирования, что разместил тему не в том разделе.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.10.2017, 16:58 4
поупырьте мел! за что тебя уважать то?
0
0 / 0 / 1
Регистрация: 26.03.2017
Сообщений: 83
22.10.2017, 17:03  [ТС] 5
xoraxax, любого человека есть за что уважать. Тем более вы меня не знаете, чтобы разговаривать со мной в таком тоне. Я никого не оскорблял. Нет ничего зазорного в том, что человек просит помощи у других. У меня только один вопрос, что за хамло в вашем лице, появилось на приличном форуме?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.10.2017, 17:16 6
alex9816, А ты, когда в парикмахерской пытаешься картошку купить, тоже орешь, что все кругом хамы, когда на тебя косо смотрят?
0
0 / 0 / 1
Регистрация: 26.03.2017
Сообщений: 83
22.10.2017, 17:24  [ТС] 7
xoraxax, не надо утрировать. Я не пойму из-за чего такая агрессия. Даже если я в парикмахерской попрошу продать картошку, то вежливый человек скажет, что картошка продаётся в соседнем магазине. Добрее надо быть к людям, добрее. А вас по ходу жизнь обидела. Закроем эту бесполезную тему.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.10.2017, 17:28 8
по-моему тут только ты считаешь, что тебя кто-то обидел )
Цитата Сообщение от alex9816 Посмотреть сообщение
скажет, что картошка продаётся в соседнем магазине.
0
0 / 0 / 1
Регистрация: 26.03.2017
Сообщений: 83
22.10.2017, 17:42  [ТС] 9
xoraxax, а вы всем в такой форме пишете? и все это проглатывают?
Цитата Сообщение от xoraxax Посмотреть сообщение
поупырьте мел! за что тебя уважать то?
xoraxax, с таким человеком как ты, бесполезно разговаривать. Тебя самого-то уважать не за что.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.10.2017, 18:18 10
Цитата Сообщение от alex9816 Посмотреть сообщение
бесполезно разговаривать
кому-то полезно, кому-то не очень )
Цитата Сообщение от alex9816 Посмотреть сообщение
Тебя самого-то уважать не за что.
так я и не просил, чтоб ты меня уважал
Цитата Сообщение от alex9816 Посмотреть сообщение
а вы всем в такой форме пишете? и все это проглатывают?
а поцчему ви спгашиваете?
0
ildwine
22.10.2017, 19:52     Календарь
  #11
 Комментарий модератора 
модераторы местные, я извиняюсь перенес тему с Java без чистки...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2017, 19:52

Календарь простой на JS
Здрасте. можете помочь нубу с календарем на js? нужно вот такое: Прикрепляйте файлы и...

Календарь с заметками
Привет! Нужно написать календарь. Такое не приходилось еще делать...не знаю вооообще с какой...

Кроссбраузерный календарь
Добрый день! Для сортировки списка по дате, нужно добавить два календаря. Но стандартный input...

Календарь Javascript
Написал календарь работает нормально но когда выпадает первое число в понедельник дает сбой таблицы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru