Christian S.: Submit verhindern (bei Enter)

Hi,

ich möchte dass von einem Formular gar kein Submit gemacht wird.

Dazu habe ich in das form tag geschrieben:

onsubmit="return false"

Wenn ich jedoch in einer Textbox Enter drücke, dann wird trotzdem submittet.

festgestellt habe ich auch:

wenn ich einen <input type="submit"> button auf der seite habe, dann passiert kein submit. Wenn ich den Button weglasse, dann schon. komisch!?

Aber eigentlich brauch ich gar keinen Submit button, da ich ja kein submit machen will.

Falls ihr euch fragt, wieso überhaupt dann eine <form> auf der Seite ist: Das ist von ASP.NET so vorgegeben.

Gruß
Christian

  1. Hi,

    ich möchte dass von einem Formular gar kein Submit gemacht wird.

    Dazu habe ich in das form tag geschrieben:

    onsubmit="return false"

    Wenn ich jedoch in einer Textbox Enter drücke, dann wird trotzdem submittet.

    festgestellt habe ich auch:

    wenn ich einen <input type="submit"> button auf der seite habe, dann passiert kein submit. Wenn ich den Button weglasse, dann schon. komisch!?

    Aber eigentlich brauch ich gar keinen Submit button, da ich ja kein submit machen will.

    Hi Christian,

    zu einer Form gehört in der Regel ein Submit-Button dazu.
    Entweder über <input .... type="submit">...., oder
    über den Button-Tag <button ... type="submit">.

    Wenn du willst das vor dem Submit ein false zurückgegeben wird,
    dann musst du am Anfang des Form-Tags folgendes eingeben :

    <form .... onsubmit="return denied()">
    ...
    ...
    </form>

    Schreib einfach eine Funktion denied() mit folgendem Inhalt:

    function denied()
    {
     return false;
    }

    Gruss
    SmartyShark

    1. Hi,

      zu einer Form gehört in der Regel ein Submit-Button dazu.

      und ein Ziel, zu dem submittet wird. Und der Vorgang des Submittens. Wird dies pauschal unterbunden, warum existiert dann ein Formular? Für den Nicht-JavaScript-Fall?

      <form .... onsubmit="return denied()">
      function denied()
      {
      return false;
      }

      Wenn das Absenden nicht "denied" wird, wird das Formular nicht abgesendet? Ich glaube, die Funktion sollte eher "allowed" heißen ...

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Hi

        und ein Ziel, zu dem submittet wird. Und der Vorgang des Submittens. Wird dies pauschal unterbunden, warum existiert dann ein Formular? Für den Nicht-JavaScript-Fall?

        Nein. Weil ASP.NET IMMER ein Formular auf der Seite haben will. (sonst gibts laufzeit Fehler von ASP). ASP Controls können auch nur inner halb des Form tags definiert werden.

        <form .... onsubmit="return denied()">
        function denied()
        {
        return false;
        }

        wo ist da der Unterschied zu onsubmit="return false" ???

        Problem ist wohl, dass die Form trotz return false submittet, wenn kein submit button innerhalb der form ist...

        Gruß
        Christian

        1. Problem ist wohl, dass die Form trotz return false submittet, wenn
          kein submit button innerhalb der form ist...

          Das verstehe ich schon. Ich habe einfach eine andere Variante empfohlen.
          Klar ist da kein Unterschied. Die Form dient dazu Informationen zu sammeln und per POST oder GET abzusenden.

          Gruss
          SmartyShark