28. marts 2006 - 09:07
Der er
14 kommentarer og 3 løsninger
Udskriv næste lørdags dato i inputfelt
Jeg vil gerne lave en formular til udlejning af et sommerhus, og i den forbindelse har jeg 2 inputfelter med ankomstdato og afrejsedato. (der er knyttet en dato-picker, men det er ikke relevant). Jeg kunne godt bruge hjælp til at auto-udfylde startdato med førstkommende lørdag, og afrejse- dato med førstkommende lørdag + 1 uge. Eksempel: Ankomst: 01-04-2006 Afrejse: 08-04-2006 Det er statiske filer, så det skal laves i js. Kan I hjælpe med lidt kode?
Annonceindlæg fra Infor
28. marts 2006 - 09:42
#1
Fx. såadn her: var ny_dato = new Date(new Date().getTime()+1000*60*60*24*7); //>Rune
28. marts 2006 - 09:49
#2
Hej Rune, kan du hjælpe mig med at udskrive funktionen også?
28. marts 2006 - 10:58
#3
<script language="javascript" type="text/javascript"> var gl_dato = new Date(new Date().getTime()); var ny_dato = new Date(new Date().getTime()+1000*60*60*24*7); document.write(gl_dato); document.write("<br />"); document.write(ny_dato); </script> :) //>Rune
28. marts 2006 - 11:08
#4
<script language="JavaScript" type="text/javascript"> <!-- function addDays(myDate,days) { return new Date(myDate.getTime() + days*24*60*60*1000); } var arrDays = new Array( "søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag" ); var objDate = new Date(2004, 2, 30); var intAddDays = 7; objDate = addDays( objDate,intAddDays ); var strResult = arrDays[ objDate.getDay() ] + ", den " + objDate.getDate() + " - " + ( objDate.getMonth() + 1 ) + " - " + objDate.getFullYear(); alert( strResult ); //--> </script> Sådan kan du oxo gøre :) //>Rune
28. marts 2006 - 11:17
#5
Jeg er meget glad for hjælpen, men skal bruge dem således: <input type="text" name="ankomst" value="[førstkommende lørdag]"> <input type="text" name="afrejse" value="[førstkommende lørdag + 7 dage"> Formatet er således: Ankomst: 01-04-2006 Afrejse: 08-04-2006
28. marts 2006 - 11:44
#6
Hurtigt eksempel :-) <html> <body> <head> <script type="text/javascript"> function returndato(d) { return d.getDate() + "-" + d.getMonth() + "-" + d.getYear(); } function addtodate(d,days) { d.setTime(d.getTime() + (1000*60*60*24 * days)); return d; } window.onload = function() { var d = new Date() dayadd = 1000*60*60*24; for(i=d.getDay();i!=6;i=d.getDay(d.setTime(d.getTime() + dayadd))){}; document.tst.arrival.value = returndato(d); document.tst.departure.value = returndato(addtodate(d,7)); } </script> </head> <form name="tst" action="." method="post"> Ankomst : <input type="text" name="arrival"><br /> Afrejse : <input type="text" name="departure"> </form> </body> </html>
28. marts 2006 - 11:48
#7
Og med nuller foran :-) <html> <body> <head> <script type="text/javascript"> function returndato(d) { dd = d.getDate()<10 ? "0" + d.getDate() : d.getDate(); dm = d.getMonth()<10 ? "0" + d.getMonth() : d.getMonth(); return dd + "-" + dm + "-" + d.getYear(); } function addtodate(d,days) { d.setTime(d.getTime() + (1000*60*60*24 * days)); return d; } window.onload = function() { var d = new Date() dayadd = 1000*60*60*24; for(i=d.getDay();i!=6;i=d.getDay(d.setTime(d.getTime() + dayadd))){}; document.tst.arrival.value = returndato(d); document.tst.departure.value = returndato(addtodate(d,7)); } </script> </head> <form name="tst" action="." method="post"> Ankomst : <input type="text" name="arrival"><br /> Afrejse : <input type="text" name="departure"> </form> </body> </html>
28. marts 2006 - 11:56
#8
Det er simpelthen verdensklasse, 1000-tak!
28. marts 2006 - 12:52
#9
Hmm Grunken, er det ikke dig der skulle ha' haft pointne? :) //>Rune
28. marts 2006 - 13:46
#10
Ups, der var jeg lidt for hurtig. What to do?
28. marts 2006 - 13:49
#11
Har også opdaget en lille fejl. Det bør være næste lørdag, altså 1/4 osv. Altså ikke første lørdag i måneden. Jeg opretter lige et spørgsmål mere, så kan grunken måske redde mig
28. marts 2006 - 14:10
#12
en klar buggy - havde lige glemt at js returere måneder array like, så derfor skal returndato bare ændres til function returndato(d) { dd = d.getDate()<10 ? "0" + d.getDate() : d.getDate(); dm = (d.getMonth()+1) < 10 ? "0" + (d.getMonth() + 1) : (d.getMonth() + 1); return dd + "-" + dm + "-" + d.getYear(); }
28. marts 2006 - 14:11
#13
Og jeg springer over dine points - pas nu på dem til en anden god gang!
28. marts 2006 - 14:23
#14
Meget taknemmelig, grunken Syntes du skal nappe dem i det nye spørgsmål
28. marts 2006 - 16:06
#15
velbekomme - jeg smider et svar snarligt - dog må jeg lige spørge om noget inden! Hvis man kommer ind på siden den 1/4 - som jo er på lørdag - er førstkommende lørdag så den 1/4, eller 8/4 ??
28. marts 2006 - 16:12
#16
I så flad skal onload function justeres lidt :-) window.onload = function() { var d = new Date() dayadd = 1000*60*60*24; for(i=d.getDay(),nj=j=d.getDate();i!=6 || j==nj;i=d.getDay(d.setTime(d.getTime() + dayadd)),nj = d.getDate()); document.tst.arrival.value = returndato(d); document.tst.departure.value = returndato(addtodate(d,7)); }
28. marts 2006 - 16:13
#17
LOL i så fald sagde manden
Vi tilbyder markedets bedste kurser inden for webudvikling