<script language="Javascript">
Da fehlt das Type attribut: type="text/javascript"
<!--
var countdown = 100; // 100 KB vorgegeben für die dateigrösse
Was hat diese Zahl mit der Dateigröße zu tun?
function doCount() {
if (countdown > 0)
{
document.forms[0].status.value ="Download dauert noch " + Math.floor(countdown/16)+ " Sekunden";
countdown= countdown - 16;
setTimeout('doCount()',1000);
}Das einizge was du hier tust ist 100/16 sekunden zu warten, bevor du versucht eine neue Seite zu laden.
else
document.location.href = "index.php";location ist ein Unterobjekt von window, nicht document.
Das funktioniert, solange ich statische dateigrössen hab, sprich is nicht besonders nützlich..
Es ist auch so nicht nützlich, da der Browser keine Information darüber preis gibt wieviel er bereits erfolgreich verschicken konnte.
Das dumme ist, dass ich die information über die dateigrösse, erst in der php datei kriege, an die ich das formular schicke, nur dann lädt er zuerst die datei hoch und danach wird das javascript erst ausgeführt.
Das CGI ist die erste Instanz, die weiss wie gross die Datei ist.
d.h. ich bräuchte irgendeine möglichkeit, an die dateigrösse ranzukommen, um je nach grösse die zeit runterzuzählen wie lang das uploaden noch dauert.
Das uploaden dauert immer unterschiedlich, auch wenn die Datei immer gleich gross ist. Das was du da veruschst ist ziemlich sinnfrei und soweit ich das jetzt überblicke, kann es sogar dazu führen das dein Skript gar nicht funktioniert, da du den upload höchst wahrschienlich sogar abbrichst durch deinen Versuch eine neue seite zu laden.
Den CGI upload kannst du auf der Clientseite nicht steuern und du hast keinerlei Möglichkeiten rauszufinden wie lange es dauert. Aber da das bei allen Upload Formularen so ist, brauchst du dir keine Sorge machen der User ist entweder daran gewohnt odr er muss sich daran gewöhnen.
Struppi.
Also das script funktioniert schon so wie es soll: Ich suche ein 100 kb grosses bild aus, klicke auf absenden und während das php script die datei uploadet(zu sehen am blauen fortschrittsbalken unten im ie), zählt der countdown von 6 sekunden aus abwärts und wenn er bei 0 ist wird die neue seite geladen.
Die unterschiedliche uploadgeschwindigkeit, bedingt durch unterschiedliche verbindungen wäre ein weiteres problem, an das ich aber noch gar nicht gedacht hab wie ich es löse (evtl einfach nen mittelwert zwischen modem und dsl)
Dass clientseitig kein upload geht und dass ein serverseitiges script zuerst ausgeführt wird, weiss ich, aber evtl hat ja irgendeiner ne idee für nen workaround, wenn nicht blend ich einfach mit onsubmit zb nen layer ein wo steht: datei wird hochgeladen, bitte warten