Kevin: FOR Schleife

Hallo

in einer For - Schleife möchte ich auf ein FormularFeld zugreifen:

for(i=0; i<document.frm.S1.value.length; i++)
{
//verschiedene Berechnungen
window.document.frm.S2.value = i;
}

der Inhalt der FOR Schelife ist nur ein Bsp. Aber es funktioniert nicht er läuft die Schleife erst komplett durch und gibt dann erst den Wert aus.

gibts da noch andere Möglichkeiten.

Kevin

  1. Hallo

    in einer For - Schleife möchte ich auf ein FormularFeld zugreifen:

    for(i=0; i<document.frm.S1.value.length; i++)
    {
    //verschiedene Berechnungen
    window.document.frm.S2.value = i;

    // kann es sein, das du das i immer auf den selben Wert schreibst und deswegen nur der letzte ausgegeben wird

    ich bin mir nicht sicher, aber um jeden Wert auszugeben das müßte doch mit document.write gehen und um alle Werte zu sehen, mü?tes Du auch sicherstellen, das bei der darstelleung für jeden Wert eine neue Zeile oder Tabellen-Celle da ist, sonst schreibst du ja alle Werte auf die gleiche Stelle und siehst dann nur den letzten

    }

    der Inhalt der FOR Schelife ist nur ein Bsp. Aber es funktioniert nicht er läuft die Schleife erst komplett durch und gibt dann erst den Wert aus.

    gibts da noch andere Möglichkeiten.

    Kevin

    1. nein das i wird bei jedem durchlauf um 1 hochgezählz und zum Schluss in einem Formularfeld ausgegeben.

      Kevin

  2. Hallo,

    der Inhalt der FOR Schelife ist nur ein Bsp. Aber es funktioniert
    nicht er läuft die Schleife erst komplett durch und gibt dann erst
    den Wert aus.

    Ja, es wird erst gerendert, wenn die Funktion fertig ist.

    gibts da noch andere Möglichkeiten.

    Jap: window.setTimeout. Beispiel:

    function blub(i) {
      if(++i < document.frm.S1.value.length) {
        window.document.frm.S2.value = i;
        window.setTimeout("blub("+i+")",1);
      }
    }

    Start mit:

    blub(-1);

    Gruesse,
     CK

    1. Funktioniert auch nicht, er gibt den Wert auch erst am ende des Durchlaufs aus

      Kevin

      1. Hallo,

        Funktioniert auch nicht, er gibt den Wert auch erst am ende des
        Durchlaufs aus

        Nein :) Das geht nur zu schnell, als dass du es sehen koenntest. Nimm
        doch mal statt der '1' eine '100', dann siehst du es.

        Gruesse,
         CK