webForumDet fria alternativet
Logga in / Bli medlem

VBScript

ASP

10 svar · 228 visningar · startad av Davida

Medlem sedan okt. 2000219 inlägg
Trådstart#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...

Medlem sedan okt. 2000219 inlägg
#2

Tillägg...

Datumet ska helst vara i följande format när det är klart:

07/11/2000 d.v.s DD/MM/ÅÅÅÅ

Medlem sedan juli 20003 825 inlägg
#3

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.

Medlem sedan juni 200032 967 inlägg
#4

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>
Medlem sedan okt. 2000219 inlägg
#5

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

Medlem sedan juni 200032 967 inlägg
#6

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.

Medlem sedan okt. 2000219 inlägg
#7

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

Medlem sedan okt. 2000219 inlägg
#8

Har du någon bra kod för att göra om datumformatet till ÅÅÅÅ-MM-DD från DD/MM/ÅÅÅÅ på klienten?

Medlem sedan juni 200032 967 inlägg
#9

titta på min funktion ovan. flytta runt lite där!

Medlem sedan okt. 2000219 inlägg
#10

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.

Medlem sedan okt. 2000219 inlägg
#11

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>
264 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)