Romero: Input type="text"-Feld mit mathematischen Operatoren

Beitrag lesen

Hy dedlfix,

Wie kann ich das Input-Feld so gestalten, dass er mehrere Zahlen-Werte, getrennt durch "+", "-", ... zusammen addiert, subtrahiert, etc.?

Wer ist "er"?

"er" ist, wie vorher erwähnt, dass Input-Feld. Wollte es nicht doppelt schreiben. Und hab das Feld einfach mal "männlich" gemacht. Bedaure :(

Solange es gültige Javascript-Syntax ist, kannst du eval() verwenden. WAS? eval()? eval() ist doch des Teufels!!1elf! - Wenn der Anwender sich selbst ins Knie schießen möchte, braucht er das eval() nicht. Das kann er auch an der Browserkonsole tun. eval() öffnet hier keine Missbrauchsmöglichkeit, die nicht schon im Browser eingebaut wäre. Es sei denn, die Anwendung soll im Kiosk-Modus laufen.

try-catch drumherum fängt Eingabefehler ab.

Warum soll ich deiner Meinung nach ein try-catch herum basteln, wenn isNaN(eval(Value)) eh prüft, ob das Ergebnis eine Zahl ist oder nicht? Oder wie meinst du es, wie diese try-catch-Variante aussehen könnte, um Eingabefehler zu vermeiden?

ich habe das Input-Feld mit einem onblur() versehen, wo "er" danach das Ergebnis ausspuckt oder wenn es keine Zahl ist, das Feld farbig markiert. Diverse Fehlereingaben werde ich mittels onkeyup() versuchen, zu unterbinden.

LG Romero