Formularfeld über Button füllen
volker
- javascript
0 CK10 volker0 holger kuehne0 CK1
Hallo,
statt ein Formularfeld über die Tastatur zu füllen möchte ich das mittels eines "Zahlenblocks" auf dem Bildschirm erledigen. Also, der user klickt z.B. die Buttons 5 - 3 - 7 - 8 nacheinander an und die entsprechende Eingabe, 5378, erscheint so im Formularfeld. Ist das machbar?! Wenn ja, wie denn bloß?! Vielen Dank für eure Hilfe!
Volker
Hi,
statt ein Formularfeld über die Tastatur zu füllen möchte ich das
mittels eines "Zahlenblocks" auf dem Bildschirm erledigen. Also,
der user klickt z.B. die Buttons 5 - 3 - 7 - 8 nacheinander an
und die entsprechende Eingabe, 5378, erscheint so im
Formularfeld.
Ist das machbar?!
Klar ist das machbar ,) fast alles ist machbar *g*
Wenn ja, wie denn bloß?!
Also, du musst zuerstmal natuerlich die ganzen Buttons definieren.
Ich lass das mal sein, ist mir zuviel Arbeit. Aber bei jedem Button
musst du den Event definieren:
onclick="mach(zahlwert);"
Zahlwert ist beim Button "9" z. B. 9.
Die Funktion "mach(zahl)" muss so aussehen:
function mach(zahl)
{
var aktwert = document.formularname.inputname.value;
aktwert = (aktwert * 10) + zahl;
document.formularname.inputname.value = aktwert;
}
mfg
CK1
Vielen Dank CK1,
das klappt ja ganz gut!! Jetzt erklär' mir bitte nur noch, warum der aktwert immer erst mit 10 multipliziert werden muss?!
»» aktwert = (aktwert * 10) + zahl;
Wird so eine "freie Stelle" für die nächste Zahl geschafft??
Machst du dir noch mal die Mühe?
Danke
Volker
Hi Volker
zu Deiner Frage: 'Wird so eine "freie Stelle" für die nächste Zahl geschafft??'
Das ganze ist nur einfache Schulmathematik:
Beispiel: Wenn ich zuerst die Zahl!! 2 Eingebe, und danach die Zahl!! 5, dann muss dass Ergebnis 25 heissen und nicht etwa 7! Wenn mit Zahlen gerechnet wird, dann wuerde bei aktwert = aktwert + zahl; 7 rauskommen. Wenn aber der String "2" und darauffolgend der String "5" uebergeben wird, dann muss man natuerlich aktwert = aktwert + zahl; "rechnen", also den String "5" ans Ende vom String "2" anheften
Tschau Holger
Hi,
das klappt ja ganz gut!! Jetzt erklär' mir bitte nur noch, warum
der aktwert immer erst mit 10 multipliziert werden muss?!
Wird so eine "freie Stelle" für die nächste Zahl geschafft??
So, oder so aehnlich ,) rechne es doch einfach mal durch:
Wenn man 2 eingibt, ist der aktuelle Wert des Inputs 2. Jetzt druecke
ich danach die 4:
aktwert = 2 -> 2 * 10 = 20; 20 + 4 = 24, also das gewuenschte
Ergebnis ,) wenn man "nur" addieren wuerde, waere das Ergebnis
stattdessen 6.
mfg
CK1