Punctuatie bedrag in invoerveld

Pagina: 1
Acties:

  • martijnn
  • Registratie: Oktober 2000
  • Laatst online: 15:18
Ik wil dat een bedrag in het invoerveld van een formulier na het invullen voorzien wordt van de benodigde punten.

vb: 1000000 wordt 1.000.000 of eventueel 1.000.000,00
10000 wordt 10.000 of eventueel 10.000,00

Ik wil dat dit dus gebeurd nadat er naar het volgende invoer veld wordt gegaan.

Alleen weet ik niet waar ik moet beginnen, kan iemand me op weg helpen ?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Ik gebruik deze code voor het toevoegen van punctuaties (2 decimalen):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function formatnumber(number) {

  // convert to string
  var fnumber = number +'';

  // formatting
  var len = fnumber.length - 2;
  fnumber = fnumber.substring(0, len) + ',' + fnumber.substring(len, fnumber.length);
  len = len - 3;
  while (len > 0) {
    fnumber = fnumber.substring(0, len) + '.' + fnumber.substring(len, fnumber.length);
    len = len - 3;
  }

  return fnumber;

}

Dit zou je kunnen gebruiken in een functie die onChange van het invoerveld wordt aangeroepen. Wel even checken of het nummer al geformateerd was of niet.

Intentionally left blank


  • martijnn
  • Registratie: Oktober 2000
  • Laatst online: 15:18
Hm, nou ben ik niet echt een javascript expert...

Alles lukt behalve om de gemuteerde waarde weer terug in het formulierveld te krijgen.

Als ik een alert (fnumber); doe krijg ik mooi de waarde, maar hoe kan ik ervoor zorgen dat hij in m'n veld komt?

  • martijnn
  • Registratie: Oktober 2000
  • Laatst online: 15:18
Ik heb het al.
code:
1
onChange="this.value=formatnumber(this.value);"