Separator ved datoindtastning

Tags:    javascript streng dato

Jeg er total dum ud i Javascript og vil gerne lave en funktion som indsætter bindestreger i et tekstfelt (dato), hvis det ikke allerede er sat ind. Jeg er nødt til at sende noget CultureInfo med over til Javascript funktionen, da det er serverens datoformat som skal være gældende.

Jeg har lavet onblur på feltet og er kommet over i min Function og kan også manipulere min streng, så der kommer - hvis jeg hardkoder at det er dd-mm-åååå format.

Nogle bud på hvordan jeg gør det, så indtastet 12112012 bliver til 12-11-2012 eller 20121112 bliver til 2012-11-12 afhængig af serverens datoformat?




7 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
for, at komme med 2 forslag til alternative løsninger:

1) Er det så ikke nemmere enten, at bruge et datepicker plugin ?
2) Du kunne dele datoen op i 3 input felter: [dd]-[mm]-[åååå] og samle det på serveren i det rigtige format. Så er du fri for, at lave alt muligt underlige javascript.



for, at komme med 2 forslag til alternative løsninger:

1) Er det så ikke nemmere enten, at bruge et datepicker plugin ?
2) Du kunne dele datoen op i 3 input felter: [dd]-[mm]-[åååå] og samle det på serveren i det rigtige format. Så er du fri for, at lave alt muligt underlige javascript.


Vedr. nr 1. Det er ikke en mulighed, da datoen skal kunne tastes uden brug af mus (der skal tastes meget)

Vedr. nr. 2. Der er klientvalidering på datoen og den siger at det ikke er en dato inden postback opstår. Så det skal gøres på klientsiden



du skal på en eller anden måde have informationerne ud fra serveren, der fortæller formatet, du kan evt. putte det i en variabel.

<script>
var date_format = "dd-mm-yyyy";
</script>

og så arbejdet ud fra det.



du skal på en eller anden måde have informationerne ud fra serveren, der fortæller formatet, du kan evt. putte det i en variabel.

<script>
var date_format = "dd-mm-yyyy";
</script>

og så arbejdet ud fra det.


Og det er så der jeg skal bruge noget konkret hjælp ;-)



hmn så har du tagget dit forum indlæg forkert.

Men det til side. Så kan jeg ikke helt forstå hvorfor det er serverens tidsformat og ikke browserens? Hvis det er serverens tidsformat, vil det altid være det samme, om brugeren kommer fra Danmark eller USA, hvor imod hvis du kigger på browserens / brugerens præference så vil det altid være rigtigt i forhold til den måde som brugeren ønsker det.


Hvilken backend kører du ... PHP, .NET, andet ?



Eh... Hvis jeg har forstået det korrekt, så spørges der om hvordan man får udskrevet dato formattet til browseren?
Det kan udskrives i headeren af dokumentet. <script>var dato = '.... server kode her....'; </script>

i PHP vil det være
Fold kodeboks ind/udPHP kode 


Derfra kan det så være en regex kode eller lign. som vil passe med når man afvikler onkeydown i et input felt:

Fold kodeboks ind/udJScript kode 
Dette er improviseret kode, så det skal naturligvis tilpasses. :)



Indlæg senest redigeret d. 19.11.2012 11:19 af Bruger #10216
hmn så har du tagget dit forum indlæg forkert.

Men det til side. Så kan jeg ikke helt forstå hvorfor det er serverens tidsformat og ikke browserens? Hvis det er serverens tidsformat, vil det altid være det samme, om brugeren kommer fra Danmark eller USA, hvor imod hvis du kigger på browserens / brugerens præference så vil det altid være rigtigt i forhold til den måde som brugeren ønsker det.


Hvilken backend kører du ... PHP, .NET, andet ?


Jeg kører asp.net. Men jeg mener ikke at jeg har tagget det forkert, da jeg er interesseret i hvordan jeg i Javascript kan modtage serverens culture / datoformat og bruge det til at manipulere en dato i et tekstfelt, så det vender korrekt.

Hvordan klientens culture / datoformat er, er jeg ligeglad med her.



t