Robert Bamler: Textfeld nach dem absenden löschen

Beitrag lesen

Hallo Marko,

Dann habe ich es mit SetTimeout probiert und das löschen und fokusieren 1 Sekunde nach dem abschicken ausführen lassen.

Das finde ich nicht sehr elegant, weil du dir nicht sicher sein kannst, ob das Formular nach dieser Sekunde wirklich abgeschickt ist. Wenn der Benutzer beispielsweise die Internetverbindung getrennt hat, um das Formular "offline" auszufüllen, spring nach dem Klick auf den "Absenden"-Button erst einmal ein Fenster zum Einwählen auf (bei Modem oder ISDN). Und das dauert einige Sekunden.

Zu deinem Problem: Normalerweise verschwindet das Formular doch sowieso, sobald es abgeschickt wird, weil dann eine neue Seite geöffnet wird. Weil dann das Löschen des Formularfeldinhalts sinnlos wäre, gehe ich davon aus, dass das in deinem Fall nicht so ist, weil

a) Das CGI-Script, das durch das Absenden des Formulars gestartet, wird keine Seite zurücksendet, sondern den HTTP-Statuscode 204.

  • Das fände ich unergonomisch, weil es nicht den Erwartungen des Benutzers entspricht. (Kommt aber natürlich auch auf den konkreten Fall an.)

b) Die Formularergebnisseite in einem anderen Frame geladen wird.

  • Dann kannst du ja einfach in die Datei, die nach dem Absenden des Formulars im anderen Frame erscheint, ein JavaScript schreiben, das über "parent.framename.formularname.formularfeldname.value = '';" den Inhalt des Formularfelds löscht.

c) anderer Grund, auf den ich gerade nicht komme

  • Dann poste doch mal, warum die Seite mit dem Formular überhaupt vorhanden bleibt und nicht von einer anderen Seite überschrieben wird.

Viel Erfolg,
Robert