nach Eingabe eines Werts soll ins nächste Textfeld gesprungen werden per Javascript
Hallo,
in Adobes LifCycle Designer habe ich folgendes Problem: ich habe mehrere, nebeneinanderliegende Textfelder in einer Zeile.
Nun möchte ich, dass nach Eingabe eines Buchstabens in ein Textfeld, der Curser automatisch ins nächste Textfeld springt. Die Textfelder kann ich mit Javascript programmieren. Nur leider fehlt mir das nötige Know-how. Kann mir jemand weiterhelfen.
Antwort schreiben
Antwort 1 von textarea vom 07.10.2020, 16:12 Options
Um einfach mal was zu schreiben:
Wenn du eigenes JS verwenden kannst dann guck mal unter
http://de.selfhtml.org/navigation/syntax.htmDann auf JavaScript/DOM und unter dem Buchstaben "O" guckst du dir mal alles an was on-irgendwas heißt. Das sind Event-Handler, die auf Ereignisse reagieren. Als zweites guckts du dir noch unter dem Buchstaben "F" die funktion Focus() an.
Der Link sollte auch in Zukunft viele deiner JS-Fragen lösen ansonsten frag hier.
Also ob das mit dem Mauszeiger geht weiß ich nicht aber mit dem Cursor im anderen Textfeld kannst du mit JavaScript realisieren.
Wenn du z.B. vier Formularfelder hast, kannst du das mit dem onkeyup-Handler lösen.Dieser ruft eine Funktion auf, die den Cursor in das andere Feld setzt
Also hier deine vier Eingabefelder (in HTML):
<input type="text" id="feld1" maxlenght="1" onkeyup="wechselnzu('feld2')"/>
<input type="text" id="feld2 maxlenght="1" onkeyup="wechselnzu('feld3')"/>
<input type="text" id="feld3" maxlenght="1" onkeyup="wechselnzu('feld4')"/>
<input type="text" id="feld4" maxlenght="1" onkeyup="wechselnzu('feld1')"/>
In den head-Bereich deiner HTML-Datei schreibst du folgenden Code:
<script type="text/JavaScript">
function wechselnzu(id) {
document.getElementById(id).focus();
}
</script>
Ich habe den Input-Tags einfach ein onkeyup-Attribut hinzugefügt. Den Wert kannst du entsprechend anpassen. Bei wechselnzu('
hier kommt die ID des nächsten Feldes rein') das Fettgedruckte einfach entsprechend ändern