rainer tms: formular absenden verhindern

Hallo,

ich hab ein Formular mit mehreren submit buttons. Beim
Klick auf diese Buttons soll jeweils nochmals nachgefragt werden, ob die Aktion wirklich ausgeführt werden soll.

Also: <input type="submit" name="aktion1" onclick="if(!confirm('blabla?'){formular_NICHT_absenden();})

Wie bekommt man es hin, dass falls !confirm zutrifft einfach gar nichts passiert - also das formular nicht abgesendet wird?

Danke und Gruss,

Rainer

  1. Also: <input type="submit" name="aktion1" onclick="if(!confirm('blabla?'){formular_NICHT_absenden();})

    Dazu must du dem onsubmit im Formular ein false zurückgeben.

    <form action="submit" onsubmit="return this.confirm;">

    <input type="submit" onclick="this.form.confirm = confirm('blabla?');">

    Struppi.

    1. ja, das sieht doch schonmal ganz gut aus;

      allerdings funktioiert das bei mir nur beim ersten mal; Wenn ich nun das absenden einmal abgebrochen hab und später nochmal auf den button klicke, passiert garnichts mehr.
      Allerdings sollte dann wieder der Dialog mit abrechen und ok erscheinen.

      1. allerdings funktioiert das bei mir nur beim ersten mal; Wenn ich nun das absenden einmal abgebrochen hab und später nochmal auf den button klicke, passiert garnichts mehr.
        Allerdings sollte dann wieder der Dialog mit abrechen und ok erscheinen.

        Dann ist irgendwo anders ein Fehler. Eigentlich sollte der Dialog bei jedem Klick auf den Button erscheinen.
        Ein Problem könnte sein, dass du mehrere submit Buttons hast, dann muss natürlich bei jedem die Variabel entsprechend gesetzt werden. u.U. auch einfach auf true:
        <input type="submit" onclick="this.form.confirm = true;">

        Struppi.

        1. Dann ist irgendwo anders ein Fehler. Eigentlich sollte der Dialog bei jedem Klick auf den Button erscheinen.

          macht er nicht... aber egal: es geht auch anders:

          <form onsubmit="return confirm(question)">

          <input type="submit" name="aktion1" onclick="this.form.question='aktion 1 ausführen?';" />

          <input type="submit" name="aktion2" onclick="this.form.question='aktion 2 ausführen?';" />

          ...

          so kommt der dialog jedesmal

          1. macht er nicht... aber egal: es geht auch anders:

            Stimmt, das Problem ist der Variabelnname confirm.

            So funktioniert es auch mit miener Variante:

            <form action="#" onSubmit="return this.confirm">
            <input type="submit" value=" b1 "
            onclick=" this.form.confirm = window.confirm('...');">
            <input type="submit" value=" b2  "
            onclick=" this.form.confirm = window.confirm('....');">
            </form>

            <form onsubmit="return confirm(question)">

            <input type="submit" name="aktion1" onclick="this.form.question='aktion 1 ausführen?';" />

            <input type="submit" name="aktion2" onclick="this.form.question='aktion 2 ausführen?';" />

            Geht aber natürlich auch so.

            Struppi.