Rol: Funktion _NACH_ reset eines Formulars aufrufen

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

  1. 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

    --
    simple JavaScript Spiele: Snake, MineSweeper, Sudoku oder Tetris
  2. 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);  
    }  
    
    
  3. Wie kann ich die Funktion calcForm(); sicher _NACH_ dem Reset des Formulars auslösen?

    http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onreset

    Struppi.

    1. 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

      --
      simple JavaScript Spiele: Snake, MineSweeper, Sudoku oder Tetris
  4. 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

    --
    Das größte Übel der heutigen Jugend besteht darin, dass man nicht mehr dazugehört.
    Salvador Dali