@Naarling:
Ha, dat was een mooi gemikte kruispost!
Het maken van twee input-veldjes is inderdaad een alternatief.
@Delicmaster:
Als je met één input-veld wilt werken, moet er nog het één en ander gebeuren. *)
Ik begin maar even met de originele code van Supersnail:
- bereken-ori.htm
- (wel even valid html van gemaakt)
- Bij invullen van een getal met komma komt er "NaN" (Not a Number).
Van string naar getal gemaakt:
- bereken-nw1.htm
- De uitkomst is niet afgerond op 2 cijfers (invullen van 12,79999 geeft 127.9999).
- In de uitkomst staat nog een punt i.p.v. komma.
Afronding verzorgd:
Terug van punt naar komma in de uitkomst:
Maar er is nog meer te doen. Bezoekers kunnen letters i.p.v. cijfers invullen, of een combi van cijfers en andere tekens. Dan gaat het goed fout!
(probeer 12x9,7 in te vullen in
bereken-nw3.htm, of € 5,00). Hier moet een "reguliere expressie" aan te pas komen.
Met alleen cijfers of komma als toegestane tekens:
Maar we zijn er nog niet. Mensen kunnen zich ook bedenken, en tijdens het invullen met de backspace alles wissen. Dan kom er "NaN" in de uitkomst te staan i.p.v. een lege uitkomst.
Met backspace-correctie:
Er zijn vast nog wel andere gevallen, die ik over het hoofd heb gezien. (ja: bv. twee keer een komma in het invoerveld geeft ook krasse resultaten

)
Terwijl het toch z'n eenvoudig sommetje lijkt, wil het javascript op deze manier aardig groeien als je alle fouten e.d. van de bezoekers wilt uitsluiten.
En als het om echt geld gaat, is dat natuurlijk wel belangrijk.
Nog niet in het bovenstaande: veiligheidsmaatregelen om geen injecties met malware-script in het invoervakje te kunnen krijgen. Want rekensommetjes laten maken op de pc van de bezoeker is nog wat anders dan toestaan dat de resultaten daarvan via een <form> naar jouw server hobbelen...
Vraag is of dat überhaupt wel veilig met javascript kan, maar daar ben ik niet deskundig in.
Met vriendelijke groet,
CSShunter
____________
*) Voor twee veldjes moeten trouwens ook diverse verzekeringen tegen verkeerd invullen afgesloten worden.
{edit}
O, nog eentje. mensen kunnen een bedrag inplakken i.p.v. intikken in het invoerveld, en dan gebeurt er niets. Met een
onblur erbij vindt de berekening plaats zodra je ergens anders op de pagina klikt:
bereken-nw6.htm
{/edit}