funktionsabfrage unterbinden...
Felix
- javascript
0 Thomas J.S.0 Felix0 Verwundert0 Der Martin
0 Struppi
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
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?
Hallo,
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?
Versuche es mit einer boolschen Abfrage, so in etwa:
<script type="text/javascript">
var bAlert = true;
function remember() {
...
else{
if(bAlert) {
alert ("Bitte geben Sie einen zu übersetzenden Text ein!");
bAlert = false;
}
Grüße
Thomas
Vielen Dank, hast sehr geholfen...
habe aber noch eine bessere methode gefunden (dank dir):
<script type="text/javascript">
function leer() {
text=document.Eingabe.Feld.value;
if (text.length <= 0) {
alert ("Bitte geben Sie einen zu übersetzenden Text ein!");
}
}
function remember() {
...
</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');
leer();
ausgabe()">
<br><br>
<textarea rows=5 cols=40 name="Feld1"></textarea>
</form>
Gruß, Felix
text=document.Eingabe.Feld.value;
if (text.length <= 0) {
Könntest Du mir ein Beispiel geben, für den Fall text.length<0 ?
Was würde mir das ein alert(text); ausgeben?
Gruß
Hallo,
text=document.Eingabe.Feld.value;
if (text.length <= 0) {Könntest Du mir ein Beispiel geben, für den Fall text.length<0 ?
Was würde mir das ein alert(text); ausgeben?
ähm, ja... ein String mit einer Länge kleiner Null würde mich auch mal interessieren. Also im Klartext: Die Abfrage ist unsinnig formuliert. Eine Abfrage auf ==0 hätte selbstverständlich gereicht.
So long,
Martin
ähm, ja... ein String mit einer Länge kleiner Null würde mich auch mal interessieren. Also im Klartext: Die Abfrage ist unsinnig formuliert. Eine Abfrage auf ==0 hätte selbstverständlich gereicht.
und in 99% der Fälle auch einfach if(!text)...
Struppi.