webForumDet fria alternativet

onChange -> validate

21 svar · 429 visningar · startad av ironhead · sida 2 av 2

ironheadMedlem sedan mars 20011 346 inlägg
#21

Får fortfarande inte start - stoppdatum att fungera... :(

Peter SMedlem sedan dec. 20025 483 inlägg
#22

Testa detta då:

<script type="text/javascript">
<!--

function validate(o){
	var
		elm=o.elements,
		l=elm.length-1,
		m=[31,0,31,30,31,30,31,31,30,31,30,31],
		d1=null,
		d2=null;

	for(var i=0; i < l; i++){
		var e=elm[i];

		if(e.name.indexOf("year")!=-1){
			if(isNaN(e.value)||e.value.length!=4){
				alert("Felaktigt årtal");
				e.focus();
				return false;
			}
		}
		if(e.name.indexOf("month")!=-1){
			if(isNaN(e.value)||e.value.length!=2||e.value<1||e.value>12){
				alert("Felaktig månad");
				e.focus();
				return false;
			}
		}
		if(e.name.indexOf("day")!=-1){
			m[1]=isLeapYear(o[i-2].value)?29:28;

			if(isNaN(e.value)||e.value.length!=2||e.value<1||e.value>m[o[i-1].value-1]){
				alert("Felaktig dag");
				e.focus();
				return false;
			}
		}
	}

	if(new Date(parseInt(o.elements[0].value),parseInt(o.elements[1].value),parseInt(o.elements[2].value)).valueOf() > new Date(parseInt(o.elements[3].value),parseInt(o.elements[4].value),parseInt(o.elements[5].value)).valueOf()){
		alert("Publikationsdatumet får ej vara större än stoppdatumet");
		return false;
	}

	function isLeapYear(n){
		return (n%4==0&&n%100!=0)||(n%400==0);
	}
};

//-->
</script>

:)

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)