Hallo,
ich versuche gerade, ein Script zu schreiben, welches mir Buchstaben, die in ein Textfeld eingegeben werden, in Echtzeit umwandelt. Dazu habe ich bisher folgendes gefunden:
function SuchenUndErsetzen(QuellText, SuchText, ErsatzText)
{
if ((QuellText == null) || (SuchText == null)) { return null; }
if ((QuellText.length == 0) || (SuchText.length == 0)) { return QuellText; }
if ((ErsatzText == null) || (ErsatzText.length == 0)) { ErsatzText = ""; }
var LaengeSuchText = SuchText.length;
var LaengeErsatzText = ErsatzText.length;
var Pos = QuellText.indexOf(SuchText, 0);
while (Pos >= 0)
{
QuellText = QuellText.substring(0, Pos) + ErsatzText + QuellText.substring(Pos + LaengeSuchText);
Pos = QuellText.indexOf(SuchText, Pos + LaengeErsatzText);
}
return QuellText;
}
Und dann im HTML:
<INPUT TYPE="TEXT" NAME="SucheNach" VALUE="a" size="20">
<INPUT TYPE="TEXT" NAME="ErsetzeDurch" VALUE="b" size="20">
<INPUT TYPE="TEXT" NAME="Ergebnis" onkeydown="this.form.Ergebnis.value=SuchenUndErsetzen(this.form.Ergebnis.value, this.form.SucheNach.value, this.form.ErsetzeDurch.value)" onchange="this.form.Ergebnis.value=SuchenUndErsetzen(this.form.Ergebnis.value, this.form.SucheNach.value, this.form.ErsetzeDurch.value)" size="20">
Das funktioniert soweit, es wird der Buchstabe "a" durch den Buchstaben "b" ersetzt, wenn ich etwas ins Textfeld eingebe. Nun ist meine Frage aber, wie kann ich das ganze mit mehr Buchstaben machen? Es müssen also alle 26 Buchstaben plus einige Sonderzeichen eine Ersetzung erhalten.
Würde mich freuen, wenn mir jemand helfen könnte.
Schönen Gruß,
Üsch