D Davida Medlem sedan okt. 2000 219 inlägg Trådstart 3 juli 2001 07:48 #1 Hur gör jag en funktion dit jag skickar ett datum och därefter får tillbaka ett datum som är samma datum fast ett år senare?
Jag vill anropa funktionen vid ett onChange på ett textfält, blir det något i stil med:
<SCRIPT LANGUAGE="VBScript">
function addayear(dtmMyDate)
dtmNewDate=dateadd()
end function
</SCRIPT>
<INPUT TYPE="text" NAME="datum1" VALUE="2001-07-03" OnChange="">
Vad ska stå i onChange? och hur ska man plocka datumet från inputboxen? Går det? eller blir det JavaScript? Jag vill att det nya datumet hamnar i en annan input-box;
<INPUT TYPE="text" NAME="datum2" VALUE="">
Hoppas detta går...
D Davida Medlem sedan okt. 2000 219 inlägg Tillägg...
Datumet ska helst vara i följande format när det är klart:
07/11/2000 d.v.s DD/MM/ÅÅÅÅ
E Eclipse Medlem sedan juli 2000 3 825 inlägg dateAdd("yyyy", 1, date() )
Ang. tillägget, det sköter du med session.LCID. Värdet i databasen kan vara 2001-01-01 men fortfarande skrivas ut 01/01/2001.
@nders Medlem sedan juni 2000 32 967 inlägg när vi pratar cs vb-script så har vi ingen möjlighet att använda lcid.
däremot kan man göra så här:
<form name="bar">
<select name="selecten" onchange="vbscript:flaa(bar.selecten.value)">
<option>
<option value="2001-01-04">flaa!
</select>
<input type="text" name="foo">
</form>
<script language="vbscript">
function flaa(dtmSelectedDate)
dtmTempDate = dateadd("yyyy",1,cdate(dtmSelectedDate))
dtmTempDate = right("0" & day(dtmTempDate),2) & "/" & right("0" & month(dtmTempDate), 2) & "/" & year(dtmTempDate)
formen.foo.value=dtmTempDate
end function
</script>
D Davida Medlem sedan okt. 2000 219 inlägg KAnonbra @nders... Några korta frågor bara:
<script language="vbscript">
function flaa(dtmSelectedDate)
dtmTempDate = dateadd("yyyy",1,cdate(dtmSelectedDate))
dtmTempDate = right("0" & day(dtmTempDate),2) & "/" & right("0" & month(dtmTempDate), 2) & "/" & year(dtmTempDate)
formen.foo.value=dtmTempDate
end function
</script>
Vad gör formen i:formen.foo.value?
Och jag vill att det första fältet är en vanlig <INPUT TYPE="text"> och ingen select
@nders Medlem sedan juni 2000 32 967 inlägg formen är namnet på formuläret, inte säker på att det måste vara där. (har nämligen aldrig hållt på med cs vb-script)
det måste inte vara en select, det är bara att ändra till ett vanligt textfält.
ta dock höjd i funktionen för att man kan fylla i datum som inte är riktiga, och då får du ett felmeddelande.
D Davida Medlem sedan okt. 2000 219 inlägg Jag har redan den kollen genom att man väljer datum via en applet och det fylls automatiskt i en readonly ruta. Sen vill jag ha datumet i den andra rutan fast ett år senare, fast det löser ditt skript... tror jag
D Davida Medlem sedan okt. 2000 219 inlägg Har du någon bra kod för att göra om datumformatet till ÅÅÅÅ-MM-DD från DD/MM/ÅÅÅÅ på klienten?
@nders Medlem sedan juni 2000 32 967 inlägg titta på min funktion ovan. flytta runt lite där!
D Davida Medlem sedan okt. 2000 219 inlägg Hoppa det jag sa innan... Jag vill bara plusa på ÅÅÅÅ i DD/MM/ÅÅÅÅ med 1 istället...
Det blir fel i datumen annars...
07/02/2001 blir 2001-07-02, såå jag gör om datumen på serversidan istället, men jag vill lägga på ett år på klienten.
D Davida Medlem sedan okt. 2000 219 inlägg Löste det med:
<%session.LCID=1033%>
<form name="bar">
<INPUT TYPE="text" NAME="selecten" VALUE="01/01/2001" onchange="vbscript:flaa(bar.selecten.value)">
<input type="text" name="foo">
</form>
<script language="vbscript">
function flaa(dtmSelectedDate)
dtmTempDate = right(dtmSelectedDate,4)
dtmTempDate = dtmTempDate+1
dtmTempDate = left(dtmSelectedDate,6)&dtmTempDate
bar.foo.value=dtmTempDate
end function
</script>