Avatar billede chr.kj Nybegynder
10. oktober 2008 - 09:30 Der er 6 kommentarer og
1 løsning

1000 separator

Hejsa.

Jeg leder efter en script som kan formatere således at det automatisk sætter . når tallet når f.eks. 1.000 ligesom på boligsiden.dk - Det smarte ved den er, at når brugeren sletter et 0 så flyttes . automatisk - Er der nogle der har et forslag eller en kode til hvordan dette gøres?

På forhånd tak :D
Avatar billede jantzen88 Nybegynder
10. oktober 2008 - 14:41 #1
Søgte lidt på google og fandt http://jsfromhell.com/number/fmt-money
Avatar billede roenving Novice
10. oktober 2008 - 15:39 #2
Det er tidligere lagt i en tråd her på eksperten, men da jeg mangler referencen, får du det in extenso:

<form>
100000<input type="checkbox" value="100000" onclick="this.form.tal.value=ins1000Sep(this.value);"><br>
1000000,15<input type="checkbox" value="1000000,15" onclick="this.form.tal.value=ins1000Sep(this.value);"><br>
Tal: <input type="text" name="tal"><br>
<button onclick="this.form.tal.value=rem1000Sep(this.form.tal.value);">Fjern tusind-separatorer</button>
<button onclick="this.form.tal.value=ins1000Sep(this.form.tal.value);">Indsæt tusind-separatorer</button>
</form>

<script type="text/javascript">
function ins1000Sep(val){
  val = val.split(",");
  val[0] = val[0].split("").reverse().join("");
  val[0] = val[0].replace(/(\d{3})/g,"$1.");
  val[0] = val[0].split("").reverse().join("");
  val[0] = val[0].indexOf(".")==0?val[0].substring(1):val[0];
  return val.join(",");
}
function rem1000Sep(val){
  return val.replace(/\./g,"");
}
</script>
Avatar billede chr.kj Nybegynder
14. oktober 2008 - 10:17 #3
Hej og tak for svarene.

@roenving
Jeg har set på denne form tidligere og den opfylder desværre ikke det jeg eftersøger bla. hvis jeg indsætter f.eks. onkeypress i stedet for onclick skriver den tallene: 1.0.0.0.0.0.0000 når tallet kommer over 1000, desuden flyttes . heller ikke automatisk når man sletter et 0

I skal have tak for jeres svar alligevel :D
Avatar billede roenving Novice
14. oktober 2008 - 16:06 #4
Hvorfor skulle det også være på onkeypress, for så er værdien ikke skiftet ?-)

-- onkeyup er værdien skiftet, og så skulle den virke (du skal dog huske hele tiden at fjerne 1000-separatorerne !-)

<input onkeyup="this.value=ins1000Sep(rem1000Sep(this.value));">

-- eller sæt det ind i ins-funktionen:

function ins1000Sep(val){
  val = rem1000Sep(val);
  val = val.split(",");
...
Avatar billede chr.kj Nybegynder
15. oktober 2008 - 08:33 #5
Ahhh... Det var jo lige det jeg eftersøgte :D

Takker for hjælpen og smid et svar.
Avatar billede roenving Novice
16. oktober 2008 - 15:59 #6
Velbekomme '-)
Avatar billede roenving Novice
16. oktober 2008 - 17:00 #7
-- og tak for point ;~}
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