Restlänge von Textfeldern in Formularen
Fischer, Markus
- javascript
Hallo Zusammen,
ich habe ein "kleines" Problem bei der Ermittlung der Länge von Textefeldern in Formularen.
Hintergrund ist, das ich nur die Länge an Eingabe erlauben will, die auch tatsächlich in die Datenbank passt.
Dazu benutze ich folgenden Code: function showStringLen(){ var str_len = document.getElementById("tb1").value.length; document.getElementById("Ausgabe").innerText = str_len + 1; if(str_len > 10){ document.getElementById"btn1").style.visibility= "hidden"; } else{ document.getElementById("btn1").style.visibility = "visible"; } }
Das klappt auch soweit ganz gut, allerdings sind verschiedene Tasten bzw. tastenkombinationen Gift für dieses Vorgehen. Hier ein paar Beispiele:
Backspace löscht zwar das letzte Zeichen, macht aber trotzdem plus eins und erst beim nächsten Backspace minus eins -> Anzeige ist also falsch.
Shift+Pos1 markiert den text, löschen durch ENTF oder Backspace löscht, Aktualisierung der Anzeige (und damit evtl. Einblenden des Buttons) kommt aber erst beim nächsten tastendruck
ich denke, diese Liste lässt sich beliebig erweitern.
Kann mir jmd. weiterhelfen, evtl. mit nem anderen Script oder aber mit ner Änderung in meinem?
Vielen Dank im voraus! Gruß Markus
Baust du das Ding in Netscape???
Baust du das Ding in Netscape???
Nee, vorrangig für den IE5.5 bzw. IE6.
Gruß markus
Hallo Markus,
Kann mir jmd. weiterhelfen, evtl. mit nem anderen Script oder aber mit ner Änderung in meinem?
Du schreibst nicht dazu, welchen Event-Handler Du für den Aufruf der Funktion verwendest. Ich tippe mal auf onKeyDown. Verwende stattdessen onKeyUp, dann sollte es gehen.
Grüße
Andreas