23. juli 2007 - 19:58Der er
22 kommentarer og 2 løsninger
Dynamisk validering
Hej Eksperter
Jeg skal bruge en form for dynamisk validering, der løbene tjekker om en bruger taster gyldige oplysninger.
Jeg har en function der tester på om fx en email er valid, men jeg ved kun hvordan man kalder den ved tryk på en knap.
Jeg vil gerne have så den sætter et grønt mærke ud for feltet når det indeholder en gyldig mail og evt et rødt hvis feltet er tomt eller mail adressen er ugyldig.
Efterfølgene vil jeg gerne have at når alle valideringer er godkendt skal baggrundsfarven på den table eller div at formularen nu er i bliver farvet grøn, så man er klar til at trykke næste side.
Hvordan laver man de former for dynamisk validering?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Jeg har ikke selv lavet en sådan kode, men hvis du har valideringskoden, burde det ikke være et problem. Bare kald valideringen i en onkeydown-attribut i hvert af felterne, som skal tjekkes. Så køres valideringen hver gang, der trykkes på en tast.
Ej gas.. det er lige præcis hvad jeg leder efter :) Man kan vel blot sætte en <img> tag ind istedet for det der "v" ?
Hvad angår password virker det ikke i din kode, den retter det ikke til et V når man har skrevet over 3 tegn og derved ændres baggrundsfarven ikke... Ved ikke lige hvor det går galt..
ahh fandt fejlen.. du mangler lige ID i password input..
Men den mangler lige at rette det tilbage igen hvis man nu ændre i det først indtastede password, altså så det bliver til en * igen og farven bliver blå igen..
innerHTML er ikke, har aldrig været og bliver aldrig valid - og er komplet yt i XHTML (også selvom det bare er XHTML 1.0 Transitionel, som bortset fra nogle ligegyldige, kosmetiske detaljer er er lig HTML 4.01 Strict). Brug i stedet DOM ... f.eks: document.getElementById("passwordid").firstChild.nodeValue = "V
Oki takker.. Hvordan får jeg den til at rette tilbage igen hvis jeg nu har indtastet en gyldig e-mail og derefter sletter @ fx, så er mailen jo ikke længere gyldig, men valideringen betragter den stadig som gyldig..?
olebole >> I know.. men han skal heller ikke bruger innerHTML;) han skal lege med billeder så det var bare for at lave noget hurtigt kode til, at illustrere det:)
skulle lige til at lave det til dig, men nu har w13:)
ok w13, men med din måde skal man altid lige trykke én gang mere i feltet før valideringen kommer, hvilket vil sige at hvis man kun fjerner @ uden at trykke igen, bliver der ikke valideret.. Kan man ikke få den til at validere med det samme?
Så lige en sidste ting.. Hvordan vil i løse det med et billede frem for en tekst? Min idé er måske med at indsætte en <span id='validatePic' style='background: url('blabla');'></span>
Og så noget i stil med document.getElementById("validatePic).style.backgrould = url('blablabla');
- og ja, det er en fejl, at det gør det. Siden 1999 har vi skulle skrive: document.getElementById("xxx").setAttribute("src", "ny sti");
Specielt under XHTML er det hamrende vigtigt. Når browserne engang begynder at understøtte XHTML, vil browseren gå ned med en fejl, hvis man bruger den gamle syntaks =)
Når det er mere langhårede ting, der skal tjekkes: http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMA 262 Version 3 er den standard både JavaScript, JScript og VBScript bygger på, men forvent ikke, pdf'en bidrager med ret meget - med mindre, du er meget teoretisk interesseret
- plus diverse andre, men dette er nok mine 'mest slidte' links vedr. klientkode =)
kalp >> selvtak. Jeg ved, det er svært! Der bliver skrevet så meget vrøvl i tutorials og artikler, at det er umuligt at skelne skidt fra kanel - med mindre man virkelig står på hovedet i de primære kilder.
Jeg ved udmærket, jeg virker som en rød klud på mange her på E, men jeg insisterer ikke desto mindre på at rette koder og kodevaner, når jeg ser noget skidt. Hvis folk, der ved, hvordan koden _bør_ skrives, sidder på tungen - og begyndere og let øvede overlades til alle vrøvlehovederne - er det jo helt umuligt for dem at lære at kode ordentlig ;o)
Jeg takker også lige for en god oversigt over links, Ole :) Og bringer et svar.
Synes godt om
Ny brugerNybegynder
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.