Gunther Blenk: toUpperCase in Eingabefeldern

Beitrag lesen

Hallöchen!
Es geht um folgendes:
Der erste Buchstabe (und der erste Buchstabe nach bestimmten Sonderzeichen) in einem input-Eingabefeld soll automatisch groß geschrieben werden, auch wenn er klein eigegeben wird. Dafür habe ich schon eine Lösung gefunden, die jedoch noch eine entscheidende Schwäche hat: Wenn man die Eingabe zu schnell tippt funktioniert meine Lösung nicht und der erste Buchstabe erscheint trotzdem kleingeschrieben.
Hier ist meine bisherige Lösung:

Im head:

function func_name(wert)
{
var Großschreiben="_:./,- !?";
if(wert.length==1 ||
Großschreiben.indexOf(wert.substr(wert.length-2, 1))>=0)
   {
   document.formular.name.value=wert.substr(0, wert.length-1) +
   wert.substr(wert.length-1, 1).toUpperCase();
   }
}

im body dann:

<form name="formular" ... >
<input type="text" name="name" ... onKeyUp="func_name(value);" />
...

Hat jemand eine Idee, wie man diese Lösung verbessern könnte, so daß sie immer funktioniert, unabhängig von der Tipp-Geschwindigkeit. Oder brauche ich einen völlig anderen Ansatz?

Schon jetzt vielen Dank für Eure Hilfe und bis demnächst!

Gunther Blenk