/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Datovalidering i jscript
Fra : Peter


Dato : 02-09-03 09:28

Spm. har garanteret været stillet før, men jeg kan ikke finde noget om det,
hverken her eller på f.eks. activedeveloper.dk

Jeg skal have valideret en datoindtastning i en form vha. et jscript.
Den "store" løsning ville være, at brugeren valgfrit kunne indtaste datoen
som f.eks
ddmmåå
ddmmmåå
dd-mm-åå
dd-mm-åååå
dd/mm-åå
osv., men jeg kan sagtens tvinge brugeren til kun at bruge eet format.

Findes der en jscript-funktion til at validere sådan en dato ?
Eller skal jeg lave 3 select-felter (dag+måned+år), der dog virker uhandy ?

Pft
Peter



 
 
Martin Hintzmann And~ (02-09-2003)
Kommentar
Fra : Martin Hintzmann And~


Dato : 02-09-03 10:03

Peter wrote:
> Jeg skal have valideret en datoindtastning i en form vha. et jscript.
> Den "store" løsning ville være, at brugeren valgfrit kunne indtaste datoen
> som f.eks
> ddmmåå
> ddmmmåå
> dd-mm-åå
> dd-mm-åååå
> dd/mm-åå
> osv., men jeg kan sagtens tvinge brugeren til kun at bruge eet format.
>
> Findes der en jscript-funktion til at validere sådan en dato ?
> Eller skal jeg lave 3 select-felter (dag+måned+år), der dog virker uhandy ?

Eller 3 input felter af typen text.
<input type="text" size="2" name="dd" />
<input type="text" size="2" name="mm" />
<input type="text" size="2" name="yyyy" />

Og hvis brugeren syntes det er uhandy at trykke tab for at komme fra et felt til et andet,
kan du lave på eventen keyup at den springer til det næste felt.

noget ala.
<input type="text" size="2" name="dd"
onkeyup="if(this.value.length>2){document.forms[0].elements['mm'].focus();}" />

PS. Har ikke tjecket om det virker.

Hintzmann c",)


Lasse Reichstein Nie~ (02-09-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 02-09-03 12:38

"Peter" <pkhn@kommunedata.dk> writes:

> Jeg skal have valideret en datoindtastning i en form vha. et jscript.

Det lyder som en opgave for Dr. J.R. Stockton:
<URL:http://www.merlyn.demon.co.uk/js-dates.htm>
(alt hvad du aldrig vidste du behøvede at vide om datoer)

> Den "store" løsning ville være, at brugeren valgfrit kunne indtaste datoen
> som f.eks
> ddmmåå
> ddmmmåå
> dd-mm-åå
> dd-mm-åååå
> dd/mm-åå
> osv., men jeg kan sagtens tvinge brugeren til kun at bruge eet format.

Det er nemt at fjerne "-" og "/" og så tjekke om der er seks eller otte
cifre. Det er sværere hvis man gerne vil skrive et-ciffrede måneder og
dage, eller hvis man vil skrive månederens navne. Men det kan alt sammen
gøres.

> Findes der en jscript-funktion til at validere sådan en dato ?

Hvad mener du med "validere"? Tjekke at det faktisk er en dato, og ikke
fx den 30 februar?

Hvis ja, så er der en metode:
Først skal input parses så du har måned, dato og år som tal (husk
at lade månederne starte ved nul=Januar).
Så laves et dato-objekt med
var tjekDato = new Date(aar,maaned,dag);
Til sidst tjekkes at resultatet er den samme dag som man bad om:
tjekDato.getFullYear()==aar && tjekDato.getMonth == maaned && ...
(det er tilstrækkeligt at tjekke to ud af tre).

Det virker fordi Date-konstruktoren normaliserer datoen. Hvis du beder
om den 30. februar i et år hvor der ikke er skudår, så laver den det
om til 2. marts (30.-dagen efter begyndelsen af februar).

> Eller skal jeg lave 3 select-felter (dag+måned+år), der dog virker uhandy ?

Det mindst un-handy er en kalender man kan klikke på, men ellers vil jeg
foreslå tre tekst-input. Undgå select-elementer, de suger på så mange måder.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Peter (02-09-2003)
Kommentar
Fra : Peter


Dato : 02-09-03 13:48

"Lasse Reichstein Nielsen" <lrn@hotpop.com> wrote in message
news:wucr775n.fsf@hotpop.com...
> "Peter" <pkhn@kommunedata.dk> writes:
>
> > Jeg skal have valideret en datoindtastning i en form vha. et jscript.
>
> Det lyder som en opgave for Dr. J.R. Stockton:
> <URL:http://www.merlyn.demon.co.uk/js-dates.htm>
> (alt hvad du aldrig vidste du behøvede at vide om datoer)
>

MEGET omfattende link - der er lige til et par timers læsning
1000tak !
/Peter



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste