pedro: DOM Manipulation nicht dauerhaft

Hallo,

habe ein Problem mit der DOM Manipulation.

Habe ein Formular mit einem Inputfeld und verschiedene div´s mit der Displayeigenschaft = none.
Die Funkiton berechnen() setzt je nach Benutzereingabe ein div auf "display: block".

Das funktioniert alles, jedoch nur für ganz kurze Zeit (glaube nur solange die Funktion läuft). Danach verschwinden die DOM-Veränderungen der Berechnen-Funktion. Also das gewünschte div erscheint nur ganz kurz.

Stimmt was mit dem Formular nicht oder womit kann man das erklären?

<form name="meinname" action="" onsubmit="berechnen()" >
  <p>Ueberschrift:<br><input name="feld1" type="text" size="30" maxlength="30"></p>
 <input type="submit"  value=" Berechnen ">
</form>

  1. <form name="meinname" action="" onsubmit="berechnen()" >
      <p>Ueberschrift:<br><input name="feld1" type="text" size="30" maxlength="30"></p>
    <input type="submit"  value=" Berechnen ">
    </form>

    so wird die Seite einfach neu geladen (action=""), du müsstest dafür sorgen, dass die Funktion bei onsubmit return false zurückgibt, um action zu verhindern

    1. danke für die Hinweise.
      Hört sich schlüssig an, werds aber erst morgen testen können...

      1. Es gibt auch die möglichkeit dass du zB einen iframe erstellst mit name="xyz"

        und beim formular sagst: target="xyz".

        dann wird der output dort im iframe angezeigt (kannst du zb display none machen) ich weiß nicht welchen anwendungsfall du genau benötigst.

        lg

    2. Hallo,

      <form name="meinname" action="" onsubmit="berechnen()" >
        <p>Ueberschrift:<br><input name="feld1" type="text" size="30" maxlength="30"></p>
      <input type="submit"  value=" Berechnen ">
      </form>

      so wird die Seite einfach neu geladen (action=""), du müsstest dafür sorgen, dass die Funktion bei onsubmit return false zurückgibt, um action zu verhindern

      wenn die Formularelemente nur als UI für Javascript dienen, kannst du sie auch ohne Form-Tag verwenden.

      Gruß, Jürgen

  2. <form name="meinname" action="" onsubmit="berechnen()" >
      <p>Ueberschrift:<br><input name="feld1" type="text" size="30" maxlength="30"></p>
    <input type="submit"  value=" Berechnen ">
    </form>

    du könntest machen:

      
    <form name="meinname" action="" onsubmit="return berechnen()" >
    
      
      
    <script type="text/javascript">  
    function berechnen() {  
    // code  
      
    return false;  
    }  
    </script>