Nach Zahleneingabe in Inputfeld Nachkommastellen auffüllen

aherzog

Erfahrenes Mitglied
Hallo miteinander.

Als blutiger Javascript-Anfänger hab ich eine Frage ob das Möglich ist.
Nach meiner Logik müsste ich das mit Javascript lösen können, nur wie ?

Ich habe eine Tabelle erstellt in der, mit Javascript, pro Spalte sowie pro Zeile alle Werte zusammengerechnet werden.
In einer Spalte werden Kilogramm eingegeben, und das mit 3 Nachkommastellen.

Gerne möchte ich nun nach der Eingabe von 3.4 das nach dem Verlassen des Feldes 3.400 steht.
So wie es auch im Excel der Fall ist.

Lässt sich sowas realisieren?

Gruss Andy
 
Ist recht einfach mit der toFixed-Anweisung:

Javascript:
zahl1 = 6;
zahl2 = 7;
ergebnis = (zahl1 + zahl2).toFixed(3);
alert(ergebnis);
 
Danke.

Was müsste ich den als Ereignis nehmen?
Wenn ich OnKeyUp verwende wird das bei 2 Stellen vor dem Komma woll nicht funktionieren.
 
Bei KeyUp ist es falsch, da würde nur der Wert formatiert den du gerade eingibst. Am besten machst du das in die Funktion in der alles zusammengezählt wird.

Je nachdem wieviel Code du hast, zeig ihn mal her. Dann kann man es genauer sagen wo du es angeben musst.
 
Bei der Funktion in der alles zusammengezählt wird, habe ich gerade die Ausgabe so umgebaut das das Ergebnis mit 3 Nachkommastellen angezeigt wird.

Ich will jetzt genau das Feld formatieren in dem ich den Wert gerade eingebe.
 
Dann nimm das onBlur-Ereignis, dies wird ausgelöst so bald du das entsprechende Feld verlassen hast.

Während der Eingabe ist das Formatieren nicht oder nur sehr schwer möglich!
 
Hi
Ich habe mal eine Inputbox ala google erstellt, wo während man etwas eingibt der Text vervollständigt wird, ohne die eigentliche Angabe zu unterbrechen.

Also wenn du willst das es etwa so funktioniert:

Eingabe: 3
Inputfeld erweitert die Eingabe automatisch zu: 3.000

Weitere Eingabe: 4
Inputfeld: 34.000

Weitere Eingabe: .3
Inputfeld: 34.300

Dann geht das schon, ich habe es damals mit einem zweiten, deaktivierten Inputfeld gelöst das hinter dem ersten lag, wobei das erste transparent ist und ich bei jedem Keydown (oder Keyup?) das zweite Inputfeld mit dem "Vorschlagswert" befüllt habe.

Grundsätzlich füllst du dem zweiten Inputfeld bei jedem KeyDown/KeyUp den Wert des ersten Inputfelds mit .toFixed(3);. Und beim verlassen des Inputfeldes übernimmst du den Wert des zweiten Feldes.

http://jsfiddle.net/R4t97/
 
Die Lösung mit dem OnBlur-Ereignis hab ich noch nicht testen können, bin aber überzeugt das es funktioniert.

Eine Auto-Vervollständigung nützt in meinem Fall wenig, da eine Eingabe von zB. 34.236 vorkommt.
 
So. Habe es nun ausprobiert und es funktioniert wunderbar.

Code:
var um8 = parseFloat(z8); 
if (um8 == 0)
{ 
    document.getElementById(w8).value = ''; 
} 
else 
{ 
    document.getElementById(w8).value = um8.toFixed(3);
}

Danke für die Hilfe
 

Neue Beiträge

Zurück