JürgenB: Formular soll nicht abgesendet werden

Hallo,

ich benutze ein Formular zur Steuerung von Javascriptfunktionen. Hier ein Auszug aus http://www.j-berkemeier.de/Spiralen.html:

<form action="#" name="frm">
 <br><button type="button" style="width:5em" onclick="single(3.0)">dr = 3.0</button>
 <br><button type="button" style="width:5em" onclick="spiralen(1.5)">dr = 1.5</button>
 <br><button type="button" style="width:5em" onclick="spiralen(0.3)">dr = 0.3</button>
 <br><button type="button" style="width:5em" onclick="spiralen(0.1)">dr = 0.1</button>
 <br>&nbsp;&nbsp;dr = <input type="text" size="4" name="dr" value="1.0">
  <button type="button" style="width:3em" onclick="spiralen(this.form.dr.value)">Los</button>
</form>

das klappt auch fast immer. Nur hin und wieder beobachte ich in den Logs, das auf /Spiralen.html?dr=33 zugegriffen wurde. In diesem Fall von einem neuen Firefox unter Windows. Das sieht so aus, als wollte der Browser das Formular an #?dr=30 absenden, obwohl der Button vom Typ "button" ist. Kennt jemand das Problem und weiß Abhilfe? Ich kann es mit meinem Firefox (JS an oder aus) nicht nachvollziehen. Der Fehler tritt auch nur sehr selten auf (weniger als 5%).

Müssen eigentlich Formularelemente in meinem Fall überhaupt zwischen <form> und </form> stehen?

Gruß, Jürgen

  1. Hi JürgenB,

    das klappt auch fast immer. Nur hin und wieder beobachte ich in den Logs, das auf /Spiralen.html?dr=33 zugegriffen wurde. In diesem Fall von einem neuen Firefox unter Windows. Das sieht so aus, als wollte der Browser das Formular an #?dr=30 absenden, obwohl der Button vom Typ "button" ist.

    Du kannst ein Formular auch mit der Enter Taste abschicken.

    Kennt jemand das Problem und weiß Abhilfe? Ich kann es mit meinem Firefox (JS an oder aus) nicht nachvollziehen. Der Fehler tritt auch nur sehr selten auf (weniger als 5%).

    baue noch ein onSubmit="return false;" im <form> Tag ein, dann sollte bei Usern, die Javascript aktiviert haben, keine Probleme mehr auftreten.

    Vielleicht solltest du so oder so das ganze Formular mit Javascript ausgeben und in einem <noscript> Bereich einen Hinweis einbauen, dass Javascript benötigt wird.

    Müssen eigentlich Formularelemente in meinem Fall überhaupt zwischen <form> und </form> stehen?

    Also es geht auf jeden Fall auch ohne, und in Transitional ist es AFAIK auch erlaubt - wie das mit Scrict aussieht weiß ich nicht. Probiers mal aus, mach eine Testseite und schick diese durch den Validator.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
    Zufällige Hinweise:
    ------------------------
    That's life - Es gibt im Leben[tm] keine Zurück-Taste. (Fabian Transchel)
    1. Hallo,

      Du kannst ein Formular auch mit der Enter Taste abschicken.

      das Formular soll aber nicht abgeschickt werden. Ich benötige es nur als "Interface" für die JS-Funktionen.

      baue noch ein onSubmit="return false;" im <form> Tag ein, dann sollte bei Usern, die Javascript aktiviert haben, keine Probleme mehr auftreten.

      JS muss aktiviert sein. Der Button ist aber vom Typ "button" und nicht "submit".

      Müssen eigentlich Formularelemente in meinem Fall überhaupt zwischen <form> und </form> stehen?

      Also es geht auf jeden Fall auch ohne, und in Transitional ist es AFAIK auch erlaubt - wie das mit Scrict aussieht weiß ich nicht. Probiers mal aus, mach eine Testseite und schick diese durch den Validator.

      ich werde es mal testen.

      Danke und Gruß, Jürgen

  2. Hi,

    Müssen eigentlich Formularelemente in meinem Fall überhaupt zwischen <form> und </form> stehen?

    Nö. Der einzige Browser, der das bräuchte, versteht das button-Element sowieso nicht (der Netscape Uralt 4.x)

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hallo MudGuard,

      Nö. Der einzige Browser, der das bräuchte, versteht das button-Element sowieso nicht (der Netscape Uralt 4.x)

      da ich überwiegend mit DOM arbeite, ist der schon ausgesperrt und sieht nur ein Alert bzw. die Buttons bleiben unsichtbar. Die form-Tags habe ich inzwischen entfernt.
        Trotzdem wüsste ich gerne, warum hin und wieder das Formular abgesendet wurde statt die JS-Funktion aufzurufen. Na, ich werde die Logs weiter beobachten.

      Gruß, Jürgen

      1. Hi,

        Trotzdem wüsste ich gerne, warum hin und wieder das Formular abgesendet wurde

        Das hat Dennis doch schon geschrieben.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo MudGuard,

          Das hat Dennis doch schon geschrieben.

          jetzt ist der Groschen gefallen. Ich dachte, er meinte, ich soll den Button durch einen Hinweis auf die Enter-Taste ersetzen.

          Danke und Gruß, Jürgen