Avatar billede nemlig Professor
04. december 2007 - 23:32 Der er 8 kommentarer og
1 løsning

Validering af indtastet klokkeslæt

Håber jeg kan få lidt kode til, hvordan jeg sikrer, at et klokkeslæt indtastes korrekt i en form.
Det skal indtastes i formatet tt:mm - altså fx. 23:45
Valideringen må gerne ske når der springes ud af feltet.
Avatar billede hells Nybegynder
04. december 2007 - 23:51 #1
onblur="if(!this.value.match(/^[0-2][0-9]:[0-5][0-9]$/))alert('Forkert indtastning.')"
Avatar billede nemlig Professor
04. december 2007 - 23:59 #2
Har lige prøvet det. Jeg har 2 udfordringer:

1. Jeg har i forvejen noget kode i Onblur. Det ser sådan her ud:
onblur="this.style.backgroundColor='#$row[form_bg]';"
Kan det mixes.
2. Dit forslag til kode virker, men ikke helt, da jeg blot får en advarsel. Jeg kan bare fortsætte. Jeg vil gerne, at jeg ikke kan komme videre, før det står korrekt.
Er det muligt?
Avatar billede hells Nybegynder
05. december 2007 - 00:03 #3
1) Ja, det kan nemt mikses, jeg kan se, at du endda allerede har idnsat det nødvendige semikolon:
onblur="this.style.backgroundColor='#$row[form_bg]';if(!this.value.match(/^[0-2][0-9]:[0-5][0-9]$/))alert('Forkert indtastning.')"

2)Det ville hjælpe, hvis du lige lod vide, hvordan man, som det er nu, kommer videre.
Avatar billede nemlig Professor
05. december 2007 - 00:10 #4
Der er tale om en indtastningsformular med mange input-felter. Der springes fra input-felt med tabulator eller med mus.
Til sidst trykkes på en submit-knap og der tjekkes via PHP for forskellige valideringer. Men lige præcis tidspunktet synes jeg vil være rart, at der kontrolleres med Javascript.
Avatar billede hells Nybegynder
05. december 2007 - 23:21 #5
Ja, så er det nok smartere med en sådan løsning her:
<form action="" onsubmit="if(!this.tid.value.match(/^[0-2][0-9]:[0-5][0-9]$/){alert('Tiden er forkert indtastet');return false}">
<input type="text" name="tid" />
<input type="submit" value="Send" />
</form>
Avatar billede nemlig Professor
05. december 2007 - 23:29 #6
Jeg tror ikke, at jeg har skrevet det tydeligt nok.......Beklager!!!
Jo, men så tjekkes der jo først, når jeg trykker på submit-knappen. Dette kan jeg lige så godt tjekke med PHP.
Jeg synes, det smarte er, at der kontrolleres når jeg hopper ud af feltet, og at jeg så tvinges til at angive et korrekt valideret tidspunkt.
Avatar billede hells Nybegynder
06. december 2007 - 00:02 #7
onblur="this.style.backgroundColor='#$row[form_bg]';if(!this.value.match(/^[0-2][0-9]:[0-5][0-9]$/)){alert('Forkert indtastning.');this.focus()}"

Problemet med det er bare, at firefox ikke holder fokus på indtastningsfeltet. Ellers virker det fint i både ie og opera, og firefox giver heller ikke nogen fejlmelding.
Avatar billede nemlig Professor
06. december 2007 - 07:51 #8
Så virker det - jeg synes det er en god løsning. Mange tak for dine bidrag.
Sender du et svar. :-))
Avatar billede hells Nybegynder
06. december 2007 - 10:44 #9
Ja, det gør jeg da lige :).
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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