um mich ein wenig einzuarbeiten, hab ich mal einen simplen leet-translator gebastelt. das sieht dann aus wie folgt:
<script type="text/javascript">
function remember() {
norm = document.Eingabe.Feld.value;
document.Eingabe.Feld1.value = norm;
}
function translator(neu,seek,destroy) {
if (neu.length > 0) {
var leet = neu.toLowerCase();
while(leet.indexOf(seek)>-1) {
ort= leet.indexOf(seek);
leet = (leet.substring(0, ort) + destroy
- leet.substring((ort + seek.length), leet.length));
}
document.Eingabe.Feld.value=leet;
}
else{
alert ("Bitte geben Sie einen zu übersetzenden Text ein!");
}
}
function ausgabe() {
aleet = document.Eingabe.Feld.value;
anorm = document.Eingabe.Feld1.value;
document.Eingabe.Feld.value = anorm;
document.Eingabe.Feld1.value = aleet;
}
</script>
<div align="center">
<form name="Eingabe">
<textarea rows=5 cols=40 name="Feld">Geben Sie doch etwas ein...</textarea>
<br><br>
<input type="button" value="OK" onClick="remember();
translator(document.Eingabe.Feld.value,'you','j00');
translator(document.Eingabe.Feld.value,'cker','xor');
translator(document.Eingabe.Feld.value,'cks','x');
translator(document.Eingabe.Feld.value,'a','4');
translator(document.Eingabe.Feld.value,'e','3');
translator(document.Eingabe.Feld.value,'i','!');
translator(document.Eingabe.Feld.value,'l','1');
translator(document.Eingabe.Feld.value,'o','0');
translator(document.Eingabe.Feld.value,'s','$');
translator(document.Eingabe.Feld.value,'t','7');
ausgabe()">
<br><br>
<textarea rows=5 cols=40 name="Feld1"></textarea>
</form>
</div>
das problem dazu liegt in diesem Stück:
else{
alert ("Bitte geben Sie einen zu übersetzenden Text ein!");
}
wie man sieht wird die funktion mehrmals hintereinander aufgerufen, und damit auch der alert. der alert sollte aber nur einmal kommen.
hat irgendjemand einen vorschlag wie ich das bewerkstelligen könnte?