Добрый день!
У меня есть скрипт, но надо добавить проверку даты, чтоб период между введенными датами не превышал 1 месяца (т.е. 31 дня)
function check_date_format(o)
{ d = new Date();
m = new Array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
if (d.getYear()%4==0) m[2] = 29;
s = new String(o.value);
r = s.split("-");
if (r.length<3)
{ return false; }
dd = new Number(r[0]);
mm = new Number(r[1]);
yy = new Number(r[2]);
t = 0;
if (parseInt(dd) == NaN) t++;
if (parseInt(mm) == NaN) t++;
if (parseInt(dd) == NaN) t++;
if (t)
{ return false; }
if (mm<1 || mm>12 || dd<1 || dd>31 || m[mm]<dd)
{ return false; }
d.setYear(yy);
d.setMonth(mm - 1);
d.setDate(dd);
return d;
}
function check_date(o) {
startDate = check_date_format(o.P_START_DATE);
endDate = check_date_format(o.P_END_DATE);
event.returnValue = true;
if (startDate > endDate) { alert("Дата начала периода не должна быть больше даты конца периода.");
event.returnValue = false; }
else return (event.returnValue); }
решение есть! добавить
n=(endDate-startDate)/1000/60/60/24
и условие
if (n > 31)
{ alert("ошибка");
event.returnValue = false; }
Последний раз редактировалось almaty-111111, 04.04.2013 в 13:59.
|