Formulare: Reset-Button leert Textfelder nicht
Mueller
- html
Hallo,
ich habe ein Formular, bei welchem ich nach dem Abschicken die Eingaben in PHP hinsichtlich ihrer Gültigkeit überprüfe. Ist die Überprüfung in Ordnung, zeige ich anstatt des Formulars eine Bestätigung an, schlägt sie fehl, zeige ich das Formular mit den ursprünglichen Nutzereingaben wieder an.
Nun habe ich zufällig festgestellt, dass der Reset-Button in diesem Formular nur für Nutzereingaben funktioniert, die noch nicht abgeschickt worden sind. Zeige ich hingegen die fehlerhaften Nutzereingaben an, können diese nicht resettet werden, obwohl sie ja ebenfalls in den Input-Feldern stehen.
Ist diese Funktionsweise bei HTML-Formularen grundsätzlich so (wird das resetten vom Browser kontrolliert?) bzw. gibt es eine Möglichkeit auch die alten Daten resetten zu lassen (bestenfalls ohne JS)?
Besten Dank vorab für jeden Hinweis zu diesem Thema!
Viele Grüße
Mueller
Ist diese Funktionsweise bei HTML-Formularen grundsätzlich so (wird das resetten vom Browser kontrolliert?)
ja, der Reset findet stets auf die Vorgabewerte (im value-Attribut) statt, die bei deinem Affenformular ja nicht leer sind.
gibt es eine Möglichkeit auch die alten Daten resetten zu lassen (bestenfalls ohne JS)?
Ohne JavaScript ist mir keine Möglichkeit bekannt - ich würde allerdings vollständig auf den Reset-Button verzichten, der ist ohnehin nur lästig.
Danke für eure Antworten. Dann werde ich wohl entweder den Button entfernen oder das über einen submit Button erledigen. So wie jetzt kann es jedenfalls nicht bleiben.
Gruß
Mueller
Hallo Mueller,
eine Reset-Button setzt Formularfelder auf die z.B. bei input via value gesetzten Werte zurück.
Gruß
Ole
echo $begrüßung;
Ist diese Funktionsweise bei HTML-Formularen grundsätzlich so (wird das resetten vom Browser kontrolliert?)
Von wem sonst? Schließlich findet das Ausfüllen und der Reset-Knopfdruck im Browser statt. Und was soll denn ein Browser anderes machen, als die ihm vorgegebenen Default-Werte zu verwenden? Dass du die Default-Werte für diesen Response aufgrund des vorherigen Requests oder auf gänzlich andere Weise ermittelt hast, ist dem Browser egal.
bzw. gibt es eine Möglichkeit auch die alten Daten resetten zu lassen (bestenfalls ohne JS)?
Ohne Javascript geht es nur mit einem Roundtrip zum Server. Dann allerdings nicht mit einem Reset sondern einem Submit.
echo "$verabschiedung $name";