Wert zurücksetzen
Koken
- javascript
huhu,
ich möchte mit einem Wert aus einem <input> arbeiten, allerdings muss der Wert eine Zahl von 0 bis 15 sein. Wenn der Wert falsch ist, soll die Eingabe aus dem <input> gelöscht werden und genau da liegt mein Problem. Das Prüfen ob der Wert stimmt oder nicht bekomme ich hin. ich wäre sehr dankbar für Hilfe.
thx
Koken
Hallo Koken.
ich möchte mit einem Wert aus einem <input> arbeiten, allerdings muss der Wert eine Zahl von 0 bis 15 sein. Wenn der Wert falsch ist, soll die Eingabe aus dem <input> gelöscht werden und genau da liegt mein Problem. Das Prüfen ob der Wert stimmt oder nicht bekomme ich hin. ich wäre sehr dankbar für Hilfe.
Zu welchem Zeitpunkt soll die Prüfung erfolgen?
Wähle hierfür einen geeigneten http://de.selfhtml.org/javascript/sprache/eventhandler.htm@title=Eventhandler. (Der Handler onblur bietet sich sicher an.)
Als nächstes überprüfst du den http://de.selfhtml.org/javascript/objekte/elements.htm#value@title=Wert des betroffenen Feldes darauf, ob er größergleich 0 und kleinergleich 15 ist. (Hier dürftest du auch den <http://de.selfhtml.org/javascript/sprache/objekte.htm#this@title=Bezug auf das aktuelle Objekt> benötigen.)
Ist dies nicht der Fall, so setzt du für den Wert des Textfeldes einen leeren String.
Einen schönen Freitag noch.
Gruß, Ashura
thx für die schnelle Antwort,
leider ist mein Problem noch nicht gelöst.
die Prüffunktion rufe ich so auf:
<input name="input1" onKeyDown="calc();" onBlur="ok(this.value);">
die Funktion, mit der ich den Wert Prüfe sieht so aus:
function ok(wert)
{
if (wert > 15 || wert < 0)
{
alert("Der Wert ist nicht gültig!");
}
}
nur leider funktioniert es mit
this.value = "";
nicht so, wie ich es mir erhoffe.
Hallo Koken.
nur leider funktioniert es mit
this.value = "";
nicht so, wie ich es mir erhoffe.
Was heißt „funktioniert nicht“?
In welchem Kontext rufst du dies auf, innerhalb der Funktion ok()?
Einen schönen Freitag noch.
Gruß, Ashura
hi,
<input name="input1" onKeyDown="calc();" onBlur="ok(this.value);">
Übergebe hier lieber nicht this.value, sondern nur this als Referenz auf das Feld.
function ok(wert)
function ok(feld)
if (wert > 15 || wert < 0)
if (feld.value > 15 || feld.value < 0)
Btw: ggf. fehlt hier noch eine Überprüfung darauf, ob es sich überhaupt um eine Zahl umwandelt, bzw. eine Umwandlung des von value immer gelieferten Strings in eine Zahl.
nur leider funktioniert es mit
this.value = "";
nicht so, wie ich es mir erhoffe.
Nee, innerhalb deiner Funktion zeigt this auf die Funktion selber.
Wenn du aber this beim Aufruf als Wert für feld übergibst, kannst du hier dann
feld.value = "";
setzen.
gruß,
wahsaga
ok,
danke für eure Hilfe! Habe es geschafft!
die Überprüfung, ob es überhaupt Zahlen sind, habe ich schon drin, allerdings nicht gerade sehr elegant:
if(objekt.wert - objekt.wert != 0)
{
...
falls ihr dafür auch noch eine gute Idee habt, wäre es schön
ok,
danke für eure Hilfe! Habe es geschafft!
die Überprüfung, ob es überhaupt Zahlen sind, habe ich schon drin, allerdings nicht gerade sehr elegant:
if(objekt.wert - objekt.wert != 0)
{
...
falls ihr dafür auch noch eine gute Idee habt, wäre es schön
hi,
die Überprüfung, ob es überhaupt Zahlen sind, habe ich schon drin, allerdings nicht gerade sehr elegant: [...]
falls ihr dafür auch noch eine gute Idee habt, wäre es schön
isNaN() zum prüfen, ob's überhaupt eine Zahl ist, parseInt() zum Umwandeln eines eine Integer-Zahl enthaltenden Strings in eine wirkliche Zahl.
gruß,
wahsaga
perfekt! damit habe ich mir auch gleich meine zweite Frage gespart, die ich stellen wollte :)
besten Dank!