Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von August

SELFHTML Forumsarchiv
funktionsabfrage unterbinden...

Informationsseite
  1. Seite (JAVASCRIPT) funktionsabfrage unterbinden... von Felix, 31. 08. 2005, 12:32
nach unten

funktionsabfrage unterbinden...

Die folgende Nachricht zum Thema stammt von: Felix, 31. 08. 2005, 12:32

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?

nach obennach unten

funktionsabfrage unterbinden...

Die folgende Nachricht zum Thema stammt von: Thomas J.S., 31. 08. 2005, 12:44

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

nach obennach unten

funktionsabfrage unterbinden...

Die folgende Nachricht zum Thema stammt von: Felix, 31. 08. 2005, 13:03

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

nach obennach unten

funktionsabfrage unterbinden...

Die folgende Nachricht zum Thema stammt von: Verwundert, 31. 08. 2005, 15:13

»» 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ß

nach obennach unten

funktionsabfrage unterbinden...

Die folgende Nachricht zum Thema stammt von: Der Martin, 31. 08. 2005, 15:34

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

nach obennach unten

funktionsabfrage unterbinden...

Die folgende Nachricht zum Thema stammt von: Struppi, 31. 08. 2005, 16:02

»» ä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.
--
Javascript ist toll

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von August

© 1998-2006 Seite Impressum, Software: Classic Forum