Bitte warten beim absenden eines Formulars
Michael Jeske
- javascript
Hallo,
ich bin absoluter Javascript Anfänger und brauche Hilfe bei folgendem Problem:
Mein Upload Formular benötigt unter Umständen sehr lange bis es abgearbeitet ist. Damit der Anwender nicht glaubt es würde nicht Funktionieren, möchte ich nach dem absenden des Formulars eine Nachricht unterhalb des Formulars einblenden (Bitte warten...).
Dazu habe ich diesen Weg vesucht:
<SCRIPT LANGUAGE="JavaScript">
function WaitMessage() {
document.write("<div style="position: absolute;.......">Bitte
warten...</div>");
}
</script>
Im Formular rufe ich die funktion mit onSubmit auf, was auch funktioniert, nur leider wird das Formular dann nicht weiter geleitet.
Was mache ich falsch?
Gruß
Michael
Hallo Michael,
<SCRIPT LANGUAGE="JavaScript">
function WaitMessage() {document.write("<div style="position: absolute;.......">Bitte
warten...</div>");
return true; //Versuche es mal damit.
}
</script>
Außerdem kannst Du mit document.write() nur beim Aufbau der Seite HTML-Code erzeugen, aber die bestehende Seite nicht nachträglich ändern.
Deine Funktion wird also wohl die aktuelle Seite ersetzen.
Das könnte u.U. auch zu Problemen führen.
Grüße
Daniel
return true; //Versuche es mal damit.
Hallo Daniel,
das hatte ich auch schon probiert, aber funzt nicht.
Wenn ich mit document.write nicht in eine bestehende Seite schreiben kann, ist da wohl nicht der richtige weg.
Ich habe schon ein paar Scripte aus dem www ausprobiert, die über die visibility funktion gehen. Aber da bin ich wieder Browser-Abhängig, das bekomme ich einfach nicht hin.
Vieleicht hat ja noch jemand eine andere Idee?????
Gruß
Michael
Hallo Michael,
Baue das Skript in Deinen JavaScript-Bereich ein
var offen=true;
function absenden()
{
if(offen)
document.forms[0].submit();
else
alert("Bitte haben Sie ein wenig Geduld.");
offen=false;
}
nimm den onSubmit-Teil wieder raus
und baue als Submit-Button folgendes ein
<input type="button" value="absenden" onClick="absenden()">
Gruß
Eidgenosse
Hallo Michael,
Baue das Skript in Deinen JavaScript-Bereich ein
var offen=true;
function absenden()
{
if(offen)
document.forms[0].submit();
else
alert("Bitte haben Sie ein wenig Geduld.");
offen=false;
}nimm den onSubmit-Teil wieder raus
und baue als Submit-Button folgendes ein<input type="button" value="absenden" onClick="absenden()">
Gruß
Eidgenosse
Hallo Eidgenosse,
danke für die Hilfe, habs gleich ausprobiert!
Mein formular wir zwar verarbeitet,
aber die Message kommt leider nicht!
Gruß
Michael
Moin!
Wenn ich mit document.write nicht in eine bestehende Seite schreiben kann, ist da wohl nicht der richtige weg.
Ich habe schon ein paar Scripte aus dem www ausprobiert, die über die visibility funktion gehen. Aber da bin ich wieder Browser-Abhängig, das bekomme ich einfach nicht hin.
Warum das denn nicht?
Such im Archiv nach den zwei Begriffen "showlayer hidelayer", und du solltest eigentlich zwei Javascript-Funktionen finden, die dir ein absolut positioniertes DIV in allen derzeit existierenden Browsern einblenden und ausblenden können, wenn du den Funktionen die DIV-ID übergibst. Dann mußt du deinen Hinweistext nur noch statisch in die HTML-Seite packen und von Beginn an versteckt halten, und schon funktioniert dein Vorhaben.
Deine ursprüngliche Idee ist ja grundsätzlich nicht schlecht (onsubmit einen Hinweistext einzublenden - oder gar den Submitbutton oder die ganze Seite komplett auszublenden). Nur die Umsetzung ist etwas mißlungen bisher.
- Sven Rautenberg