toUpperCase in Eingabefeldern
Gunther Blenk
- javascript
0 Z.N.S.
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
abend,
muss es direkt bei der eingabe korrigiert werden ? wenn nicht
würde folgender lösungsansatz helfen...
<HTML><HEAD><TITLE>uppercaseMyself</TITLE>
<script language="JavaScript">
function upperMyself( ) {
myObj = document.getElementById( "mytext" );
firstLetter = myObj.value.substr( 0, 1 );
myObj.value = firstLetter.toUpperCase() + myObj.value.substr( 1 );
}
</script>
</HEAD>
<BODY>
onChange = <input type=text name=mytext id=mytext onChange="upperMyself( )"><br>
</BODY>
</HTML>
HIH
mfg,
(tanz das)
Z.N.S.