Eingabefenster auf zahlenwerte beschränken
Zwiedel
- html
Hi Leute
Hab da mal ne Frage.
Ich hab hier so n Eingabfenster des sendet daten an meinen PIC (die Strings halt). Jetzt soll der aber nur zahlen strings bekommen. Also 0-9 und komma bzw punkt sollen erlaubt sein. Bei allem anderen soll er schimpfen oder am besten erst gar nicht zulassen.
Außerdem hätt ich des ganze noch gern so gemacht dass ich je nach Eingabefenster noch die Wertigkeit überprüfen kann. Also sagen wir mal
fenster1 darf nur Werte von 3,5 bis 9 haben
fenster2 darf nur Werte von 1 bis 2,3 haben
fenster3 darf nur Werte von 2,53 bis 7,41 haben
...
Ich programmier bisher mit javascript und hätts mit dem auch gern gelöst.
Am besten eine Routine die start und endwert übergeben bekommt und die entsprechende Fenster so einschränkt.
Weil für jedes fenster ne eigene Routine wär n bissl viel :D hab knapp 20 Eingabefenster.
Meine Frage ist jetzt. Geht das überhaupt? Kann ich das mit javascript lösen? Oder muss ich des ganze aufm PIC machen!!!
Danke schon mal im Voraus
Gruß Zwiedel{:.language-html}
{:.language-html}
Yerf!
Meine Frage ist jetzt. Geht das überhaupt? Kann ich das mit javascript lösen? Oder muss ich des ganze aufm PIC machen!!!
Im Prinzip ja, allerdings sollte man bedenken , dass dazu JavaScript im Browser aktiviert sein muss und das ganze somit auch umgangen werden kann.
Deine Beschreibung liest sich so, als wäre das ganze für interne Zwecke. Auf eine Prüfung auf Server-Seite würde ich trotzdem nicht verzichten.
Mittels http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#is_nan@title=isNaN() kannst du prüfen, ob (k)eine Zahl eingegeben wurde. Auf der Seite findest du auch parseFloat(), mit der Funktion kannst du den eingebenen Wert in eine Zahl wandeln um ihn dann mit deinen Grenzwerten zu vergleichen.
Die Funktion selbst kannst du z.B. auf den onChange oder http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onblur@title=onBlur-Handler der Eingabefelder legen.
Gruß,
Harlequin
Hallo Harlequin, hallo Zwiedel,
bei Dezimalzahlen sollte zusätzlich noch berücksichtigt werden, dass Javascript einen Dezimalpunkt erwartet, User aber meistens ein Komma benutzen. Wenn isNaN glaubt, es wäre keine Zahl, einfach das "," durch einen "." ersetzen. Gleiches gilt für Tausendertrennzeichen.
Gruß, Jürgen