Kevin: Problem mit FOR-Schleife

Hallo Leute,

ich habe folgendes Script (Auschnitt):

function proz_ausgabe(pro){
 document.frm.T1.value = pro;
}

function codeHTML(form) {
if (document.frm.S1.value == ''){
 document.frm.S2.value = 'ACHTUNG !!!\n\nKeine Daten im Eingabefeld.';
}else{
 for(i=0; i<document.frm.S1.value.length; i++)
  {
  // an dieser Stelle werden noch viele andere Berechnungen vorgenommen
  // diese Berechnungen nehmen einig Zeit in Anspruch je nach Menge der Eingabe
   proz = Math.round(i / document.frm.S1.value.length * 100);
     window.setTimeout("proz_ausgabe(proz)",1);
  }
 ausgabe = '<script language="JavaScript">\n' + "<!--\nvar versch = '" + escape(res) + "';";
  }
}

In der Function codeHTML wird eine FOR Schleife so oft durchlaufen wie es Stellen im String "frm.S1" gibt. In dieser Schleife sind weitere Berechnungen die hier keine weitere Rolle spielen.
Da diese Berechnungen einige Zeit in anspruch nehmen, wollte ich einen Prozentualen Wert "proz" der auch in der Schleife berechnet wird bei jeden Durchlauf in dem Feld "document.frm.T1" ausgeben lassen.

Im Prinzip funktioniert alles, nur das die Schleife komplett durch laufen wird und er nur 100% ausgibt und danch die "Ausgabe" wie gewünscht. Also er aktuallisiert nich nach jedem durchlauf.

Wie kann ich diese Problem lösen???

Vielen Dank für Eure Hilfe.

Kevin

  1. Hi,

    proz = Math.round(i / document.frm.S1.value.length * 100);
         window.setTimeout("proz_ausgabe(proz)",1);

    ^^^^^^^
    solltest Du in:
    window.setTimeout("proz_ausgabe("+proz+")",1);
    ändern oder warum rufst Du die function proz_ausgabe() nicht direkt auf, ohne window.setTimeout?

    Grüße,

    Ronny