Avatar billede vision-jsp Nybegynder
03. september 2003 - 23:10 Der er 11 kommentarer og
1 løsning

Dato felt som konverteres automatisk

Hvordan laver jeg et input felt som automatisk formateres som dato. Hvis jeg fx taster 02032003 -> 02/03/2003 eller noget andet smart...


Jakob
Avatar billede medions Nybegynder
03. september 2003 - 23:12 #1
CDate(Request.Form("datofeltsnavn"))

//>Rune
Avatar billede eagleeye Praktikant
03. september 2003 - 23:12 #2
Du kan bruger str funktioner:

str = "02032003"
datoStr = Left(str,2) & "/" & mid(str,3,2) & mid(str,5)
Avatar billede eagleeye Praktikant
03. september 2003 - 23:12 #3
Glemte et "/":

str = "02032003"
datoStr = Left(str,2) & "/" & mid(str,3,2) & "/" & mid(str,5)
Avatar billede vision-jsp Nybegynder
03. september 2003 - 23:17 #4
Medions:
Jeg får "Type mismatch: 'CDate'"? Mit felt er som følger:
Dato: <input type="text" name="in_date" size="20">


Eagleaye:
Ja men måske taster brugeren 02-03-2003 eller 2003/03/02


Jakob
Avatar billede medions Nybegynder
03. september 2003 - 23:19 #5
Så kunne du jo sige

If Not InStr(Request.Form("Datofelt"), "-") Or InStr(Request.Form("Datofelt"), "/") Then
str = Request.Form("Datofelt")
datoStr = Left(str,2) & "/" & mid(str,3,2) & "/" & mid(str,5)
End If

//>Rune
Avatar billede eagleeye Praktikant
03. september 2003 - 23:20 #6
Ok...Hvor mange ting skal scriptet så tage højde for?

02-03/2003
0203-2003
02/032003
020303
?
Avatar billede eagleeye Praktikant
03. september 2003 - 23:20 #7
2-3-2003?
Avatar billede vision-jsp Nybegynder
03. september 2003 - 23:25 #8
Ja det var kun fordi jeg er doven og tænkte at der måske var en smart funktion til at lave et dato felt eller lign. Ligesom i fx. Access hvor man kan formatere feltet således at der i princippet kun kan tastes en dato på én bestemt måde (__/__/____)

Jakob
Avatar billede medions Nybegynder
03. september 2003 - 23:29 #9
vision-jsp> Hmm hvis du absolut vil være SÅ sikker, hvorfor deler du det så ik' op i 3 felter?

dd - mm - yyyy

//>Rune
Avatar billede eagleeye Praktikant
03. september 2003 - 23:29 #10
Ja men så det input feltet som skal kunne formatere datoen korrekt, den kan så vidt jeg ved ikke bare modtage en "tilfældig" streng og formatere det korrekt.

Du kunne lave et javascript på din for som sikrede at man hvade korrekt dato format inden data blev sendt til siden...

Denne kode tjekke for 02-03-2003 eller 02/03/2003 eller 02032003


str = "02032003"

if isDate(str) then
  dato = CDate(str)
elseif len(str) = 8 then
  dato = Left(str,2) & "/" & mid(str,3,2) & "/" & mid(str,5)
  dato = CDate(dato)
else
  dato = str
end if

Response.Write dato
Avatar billede eagleeye Praktikant
03. september 2003 - 23:30 #11
javascript på din for  --> javascript på din form
Avatar billede vision-jsp Nybegynder
03. september 2003 - 23:37 #12
Ja den sidste er OK, tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester