| 
	
	
		
		
		
		
		 Добрый день! 
У меня есть  скрипт, но надо добавить проверку даты, чтоб период между введенными датами не превышал 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.
				
				
			
		
		
	
		
		
	
	
	 |