Hi,
relativ viele Inputfelder auf einer Seite (>1000), die sich in einer Tabelle befinden, werden per Javascript mit Daten befüllt, die zuvor per XMLHttpRequest geholt werden. Da der Vorgang mitunter recht zeitaufwendig ist (das Füllen, nicht das Holen der Daten), soll der User mit einem Fortschrittsbalken bei Laune gehalten werden.
Das Problem scheint jetzt aber zu sein, dass, während das Script damit beschäftigt ist, die Felder mit document.getElementById().value zu befüllen, die Ausgabe des Balkens im Browser nicht funktioniert, so dass die Ausgabe erst dann auf dem Schirm erscheint, sobald die Funktion komplett gelaufen ist.
Daher meine Frage: Existiert in Javascript so etwas ähnliches wie eine Flush-Funktion? Sobald ich zum Beispiel im nachfolgenden Code einen alert() einfüge, wird der bisher ausgeführte Code im Browser dargestellt. Das allerdings ist leider nicht praktikabel...
Auszug:
var lines = data.split('^');
function fillData(data) {
for (row = 1; row < lines.length; row++) {
document.getElementById('progressbar').firstChild.data = document.getElementById('progressbar').firstChild.data + '*';
fillLine(lines[row]);
}
function fillLine(data) {
var fields = data.split("|");
for(i = 1; i < fields.length; i++) {
// Diverse Manipulationen per document.getElementById()
}
}
Viele Grüße
Benjamin
Der nächste Satz ist gelogen.
Der vorherige Satz ist wahr.