15. oktober 2009 - 15:37Der er
4 kommentarer og 1 løsning
Dansk talformatering når input-felt forlades
Hejsa Jeg har en del inputfelter, hvor jeg godt kunne tænke mig, at det indtastede tal formateres til dansk formatering med 2 decimaler og tusindtalsseperator, når jeg forlader feltet. Hvis der fx. er indtastet 4000, skal det ændres til 4.000,00, når feltet forlades. Er der en løsning på dette.
Ja, det kan lade sig gøre, men jeg vil råde imod . som 1000-talsseperatorer i indtastningsfelter, det er noget værre hø når tallet skal parses, og forvirrer nok generelt mere end det gavner. Man kan bruge mellemrum som 1000-talsseperator, hvilket kan være gavnligt for at undgå fejl når man når op på 5+ cifre.
Det kan fx gøres således: <script> function formater(element){ var tal=element.value var len tal=""+Math.floor(100*tal.replace(/\,/g,".").replace(/ /g,"")) if(tal=="NaN"){ tal="000" } while((len=tal.length)<3){ tal="0"+tal } tal=tal.split("") tal[len-2]=","+tal[len-2] for(var a=len-5;a>0;a-=3){ tal[a]=" "+tal[a] } element.value=tal.join("") } </script> <input type="text" onblur="formater(this)">
Tak for bidragene, men den er ikke helt i skabet endnu. Der er tale om et tal-felt, hvor der kan indtastes tal på forskellig vis: 5000 = 5.000,00 5000,25 = 5.000,25 5.000,25 = 5.000,25
Det med mellemrum, som tusindtalsseperator er jeg ikke vild med.
ebusiness: Sejt - præcis det jeg er ude efter. Tusind tak.
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.