Jag skall validera ett formulär och har därför använt mej av JavaScript, då jag ej är så hemma på JavaScript (inte något annat språk heller för den delen:-) så tar det lite tid att få till det, men hitintills har det gått ganska så bra tills jag nu skall validera datum. Eftersom ingen svara här så får jag göra ett försök :-) Hej! Modda din kod lite...DateDiff med JavaScript?
Där jag har kört fast så har jag två textrutor, bägge är datumformat, valideringen av korrekt format har jag fått till, men nu skall jag även kolla datumdiff.
De som registrerar skall få ett alert meddelande om det skiljer mer än fem år mellan de olika datumen när de klickar på submit.
Om det är av vikt så är formatet åååå-mm-dd
Har någon erfarenhet av dylik validering så mottager jag mycket gärna tipps på lösning.
En tanke är att mixa ASP:s datediff med javascriptet, men jag får inte till det.
/RobertW Sv: DateDiff med JavaScript?
Det finns ingen DateDiff funktion med javascript så man måste gör beräkningar
Ex:
<script languge="JavaScript">
today = new Date(); // Här har du dagens datum som ett ex
//Sedan har du en form du hämtar värden ifrån, vi antar att du gör detta
dittDatum = new Date();
dittDatum.setFullYear(document.dinForm.ar.value); //Är 4 siffror t ex 2003
dittDatum.setMonth(11); //samma som ovan fast för månad
dittDatum.setDate(25); //Dagen i månaden
if(today.getTime() < dittDatum.getTime()){
diff = dittDatum.getTime() - today.getTime();
diff = Math.floor(diff / (1000*60*60*24)); //Du får anpassa denna formel beroende på vilket resultat du vill ha, här ges skillnaden i dagar
alert(diff + ' dagar mellan de olika datumen);
}
Med oerhörda reservationer för felstavningar od :-)
Det är ett ex du kan titta på, har inte gjort någon lösning med form osv
</script>Sv: DateDiff med JavaScript?
Det borde gå att lösa ungefär så här.
var FirstDate = new Date(yy,mm,dd);
var SecondDate = new Date(yy,mm,dd);
var DateDiff = FirstDate - SecondDate;
var Tot_ms = 1000*60*60*24*365*5; // (ms*sec*min*tim*dagar*år)
if(DateDiff > Tot_ms) // Ersätt gärna Tot_ms med det faktiska värdet, jag förtydligade
alert("Det skiljde mer än fem år");
Sv: DateDiff med JavaScript?
om vi antar att dittDatum är framtid funkar det här... annars får du byta plats på lite grejer.....
<code>
today = new Date(); // Här har du dagens datum som ett ex
//Sedan har du en form du hämtar värden ifrån, vi antar att du gör detta
dittDatum = new Date();
dittDatum.setFullYear(document.dinForm.ar.value); //Är 4 siffror t ex 2003
dittDatum.setMonth(11); //samma som ovan fast för månad
dittDatum.setDate(25); //Dagen i månaden
skillnad=dittDatum-today; // eller om det var skillnad=new Date(dittDatum-today)
alert(skillnad)
alert(skillnad.getDate())
</code>
//Thomas