Felix: funktionsabfrage unterbinden...

Beitrag lesen

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?