Funktion _NACH_ reset eines Formulars aufrufen
Rol
- javascript
0 Micha0 Hans Wurst0 Struppi2 Micha
0 Sebastian Pfund
Hallo,
ich habe ein Formular in dem per JavaScript nach jeder Eingabe bestimmte Werte neu berechnet werden (so eine Art Warenkorb). Um die Neuberechnung auszulösen habe ich jedem Eingabefeld ein onchange="calcForm();" verpasst.
So weit, so gut.
Wenn ich aber nun das Formular mit
<input type="reset" value="Formular löschen">
zurücksetze werden zwar alle Input Felder gelöscht, die Berechnunsgergebnisse jedoch nicht (logisch, die schreibe ich ja nicht in ein input Feld sondern mit .innerHTML in ein <span>).
nundachte ich mit:
<input type="reset" value="Formular löschen" onclick="calcForm();">
wäre das Problem gelöst. Leider nicht, der onclick event feuert wohl schon _VOR_ dem löschen der Formularfelder. Wenn ich den Reset button klicke löscht es nur die Input Felder. Erst be nochmaligen Klicken werden auch die Berechnungsergebnisse auf null gesetzt.
Das gleiche passiert wenn ich dem <form> ein onreset="calcForm();" verpasse.
Wie kann ich die Funktion calcForm(); sicher _NACH_ dem Reset des Formulars auslösen?
Gruß
Rol
Hallo Rol,
Wie kann ich die Funktion calcForm(); sicher _NACH_ dem Reset des Formulars auslösen?
3 Lösungen fallen mir spontan ein, wobei ich vermutlich die erste nehmen würde:
Mit einer Variablen, die Du bei dem Ereignis "reset" setzt und in Deiner Berechnungsfunktion abrufst/prüfst.
Mit einem timeout
Mit einer eigenen Funktion zum Löschen der Felder
Mit freundlichem Gruß
Micha
Wie kann ich die Funktion calcForm(); sicher _NACH_ dem Reset des Formulars auslösen?
Schon mal mit einem setTimeout() ausprobiert?
<input type="reset" value="Formular löschen" onclick="calcForm();" />
function calcForm() {
setTimeout("document.forms[0].DeinElement.innerHTML=''", 500);
}
Wie kann ich die Funktion calcForm(); sicher _NACH_ dem Reset des Formulars auslösen?
http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onreset
Struppi.
Hallo Struppi,
»» Das gleiche passiert wenn ich dem <form> ein onreset="calcForm();" verpasse.
http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onreset
"Tritt ein, wenn der Anwender Eingaben in einem Formular verwerfen will.", nicht wenn es bereits verworfen ist, oder?
Mit freundlichem Gruß
Micha
Hallo,
warum führst Du das Reset nicht auch mit javascript aus:
<input type="button" onclick="myFunction()"...
function myFunction(){
form.reset();
weitere Funktionen...
}
Grüße Sebastian