Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

javascript de ay ve yil kontrolu

merhaba...

textbox dan 08/2010 gibi ay ve yil degeri aliyorum. Bu aldigim tarihi sistem tarihinin ay ve yil degeri ile karsilastirmak ve eger girilen yil degeri sistem yilindan kucuk ise error, sistem yili girilen yila esit ve girilen ay degeri sistem ayindan kucuk ise error vermek istiyorum.

############### KODLARIM ######################

girilen tarih : 08/2010 sistem tarihi ise 09/2010 olsun.
function tarih_kontrol()
	{
		var katar = document.getElementById("tarih").value;		
		var mydate= new Date() // tarih objesi
		var theyear=mydate.getFullYear() 	// sistem yil degeri		
		
		var themonth = mydate.getMonth()+1	// sistem ay degeri	
		if(themonth < 10)
			themonth = '0'+themonth

		var dizi = katar.split('/');				
		//dizi[0]; GIRILEN AY DEGERI
		//dizi[1]; GIRILEN YIL DEGERI
		
		
		if(parseInt(dizi[1])<theyear)
		{
			return false;
		}
		else
		{
			if(parseInt(dizi[1])==theyear) 
			{
				if(parseInt(dizi[0])<themonth) 
				{										
					return false;					
				}
			}	
		}			
		return true;
	}

############### KODLARIM ######################


burda 08/2010, 10/2009 gibi degerler girdigimde sistem tarihinden kucuk deerler oldugundan dogal olarak hata aliyorum ama 09/2010 girdigim de de hata aliyorum kucuk olmadigindan hata vermemesi gerekir bu hatayi neden aliyorum...
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • uls adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    65 cevap - 10 soru
    Şu şekilde kullanırsan düzelir;
    function tarih_kontrol()
    	{
    		var katar = document.getElementById("tarih").value;		
    		var mydate = new Date() // tarih objesi
    		var theyear = mydate.getFullYear() 	// sistem yil degeri		
    		var themonth = mydate.getMonth()+1	// sistem ay degeri	
    
    		var dizi = katar.split('/');				
    		//dizi[0]; GIRILEN AY DEGERI
    		//dizi[1]; GIRILEN YIL DEGERI
    
    		if(parseInt(dizi[1])<theyear)
    		{
    			alert('sistem yılından küçük');
    			return false;
    		}
    		else if(parseInt(dizi[1])==theyear && parseInt(dizi[0],10)<themonth) 
    		{								
    			alert('sistem ayından küçük');
    			return false;					
    		} else {
    			alert('ok');
    			return true;
    		}
    	}
    


    Başında 0 olan sayıya direkt parseInt yaparsan 0 döndürüyor, parseInt(sayi,10); olmalı o yüzden.
    • kerimderin adlı üyenin fotoğrafı kerimderin
      tesekkurler....
      13 yıl önce yazılmış

Cevaplar

Hiç cevap bulunamadı.