04. december 2007 - 23:32Der 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.
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?
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.
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.
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>
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.
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.
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.