Sebastian: Bei "OnSubmit" 2 Aktionen ausführen ?

Ich habe ein Formular und bei Onsubmit wird bislang nur eine Funktion ausgeführt:
onsubmit="return check_form()"

Ich will jetzt aber, dass diese Funktion:
"return submitForm(this.submitbutton)"

ebenfalls bei OnSubmit ausgeführt wird.

Geht das irgendwie ???

MfG Sebastian

  1. Hallo,

    Geht das irgendwie ???

    Ja, durch per Semikolon getrennte Aneinanderreihung:

    onsubmit="return check_form(); return submitForm(this.submitbutton);"

    oder durch Erstellen einer Interface-Funktion:

    im Head:

    function doThis()
      {
        return check_form();
        return submitForm(this.submitbutton);
      }

    und dann:

    onsubmit="return doThis();"

    Wobei Du verm. noch irgendwas mit den zurückgegeben Werten wirst anstellen wollen - aber das wirst Du schon selber wissen was Du damit tun möchtest.

    Grüße,

    Utz

    --
    Mitglied im Ring Deutscher Mäkler
    1. meine seite sieht jetzt so aus:
      <title>Kontakt-Formular</title>
      <SCRIPT LANGUAGE="JavaScript">
      <!-- Begin
      function submitForm(s) {
      s.value = "Vielen Dank!";
      return true;
      }
      // End -->
      </script>
      <script language="JavaScript">
      var submitted=false;
      function check_form() {
      if (submitted == true) {
      alert ("Sie haben ihr Formular bereits abgeschickt !") ;
      return false;
      }
      else {
      submitted = true ;
      }
      }
      </script>

      <script>
      function doThis()
        {
          return check_form();
          return submitForm(this.submitbutton);
        }
      </script>

      </head>
      <body>
      <form action="mailto:Volleyball-Formular@SebastianToews.de?subject=Volleyball-Formular&body=Dieses Formular ist speziell für die Hausübung 'Internet' angefertigt" method="post" enctype="text/plain" name="Kontaktformular" onsubmit="return doThis();">

      ...
      ...
      ...
      <input type=submit name=abschickenn value="Abschicken" >
      </td>
      <td>
      <br>
      <input type="reset" value="Löschen" onClick="return confirm('Wollen sie ihre Eingaben wirklich löschen?')"></td>
      </tr>
      </table>
      </form>
      </body>
      </html>

      Aber sie funzt nicht richtig es wird immer nur check_form ausgeführt.

    2. Hallo Utz,

      Das hier

      return check_form();
          return submitForm(this.submitbutton);

      kann nicht funktionieren. Es müsste

      if (check_form())
        return submitForm(this.submitbutton);
      else
        return false;

      heissen. (Unter der Voraussetzung, dass sowohl check_form() als auch SubmitForm() true oder false zurückgeben.)

      Grüße
      Andreas

      --
      Auch eine Reise über tausend Kilometer muß mit einem einzelnen Schritt beginnen.
      Laotse "Taoteking"
      1. Hallo Andreas,

        (Unter der Voraussetzung, dass sowohl check_form() als auch SubmitForm() true oder false zurückgeben.)

        Was ja a) nicht zu erwarten war und b) dann ja auch nicht so ist (s. [pref:t=57781&m=323784]). Man müsste also noch irgendwas mit den zurückgegebene Werten machen, bevor es läuft - ach ja: "Wobei Du verm. noch irgendwas mit den zurückgegeben Werten wirst anstellen wollen" schrieb ich ja schon in [pref:t=57781&m=323746]. Warum genau hattest Du Dich nochmal eingeschaltet?

        Grüße,

        Utz

        --
        Mitglied im Ring Deutscher Mäkler
        1. Hallo Utz,

          Warum genau hattest Du Dich nochmal eingeschaltet?

          Weil diese zwei Zeilen

          return check_form();
              return submitForm(this.submitbutton);

          völlig unsinnig sind. Die zweite Zeile kann niemals erreicht werden und damit wird submitForm() nie ausgeführt.

          Grüße
          Andreas

          --
          Auch eine Reise über tausend Kilometer muß mit einem einzelnen Schritt beginnen.
          Laotse "Taoteking"
          1. Hallo Andreas,

            Weil diese zwei Zeilen (...) völlig unsinnig sind. Die zweite Zeile kann niemals erreicht werden und damit wird submitForm() nie ausgeführt.

            Ist klar, und ich dachte, ich hätte das mit meiner Bemerkung über Rückgabewerte deutlich genug gemacht.

            Grüße,

            Utz

            --
            Mitglied im Ring Deutscher Mäkler
            1. Hallo Utz,

              Ist klar, und ich dachte, ich hätte das mit meiner Bemerkung über Rückgabewerte deutlich genug gemacht.

              Nein, denn deine Funktion doThis() konnte nicht funktionieren und das hat mit deiner Bemerkung über Rückgabewerte nichts zu tun.

              Grüße
              Andreas

              --
              Auch eine Reise über tausend Kilometer muß mit einem einzelnen Schritt beginnen.
              Laotse "Taoteking"
              1. Hallo Andreas,

                Nein, denn deine Funktion doThis() konnte nicht funktionieren

                Stimmt - wegen der Rückgabewerte. Stünden da keine Returns (würden also keine Rückgabewerte benötigt werden) ginge sie nämlich ganz prima.

                und das hat mit deiner Bemerkung über Rückgabewerte nichts zu tun.

                Ach so ;-)

                Aber bevor wir hier noch einen "big one" draus machen: können wir uns drauf einigen, dass ich mich einfach etwas missverständlich ausgedrückt hatte?

                Grüße,

                Utz

                --
                Mitglied im Ring Deutscher Mäkler
                1. Hallo Utz,

                  Nein, denn deine Funktion doThis() konnte nicht funktionieren
                  Stimmt - wegen der Rückgabewerte. Stünden da keine Returns (würden also keine Rückgabewerte benötigt werden) ginge sie nämlich ganz prima.

                  Ich verstehe die Aussage "würden also keine Rückgabewerte benötigt werden" in diesem Zusammenhang nicht. Natürlich können auch Rückgabewerte der beiden aufgerufenen Funktionen weiterverwendet oder auch aus doThis() mit
                  return check_form() && submitForm();
                  zurückgegeben werden (wie gesagt, obige Zeile funktioniert mit boolschen Rückgabewerten der Funktionen check_form() und submitForm()). Lediglich zwei Return hintereinander sind falsch, weil das zweite auf keinen Fall erreicht wird.

                  Tut mir leid, wenn das jetzt etwas pingelig klingt, aber das wollte ich nur noch mal klarstellen.

                  Aber bevor wir hier noch einen "big one" draus machen: können wir uns drauf einigen, dass ich mich einfach etwas missverständlich ausgedrückt hatte?

                  Einverstanden.

                  Grüße
                  Andreas

                  --
                  Auch eine Reise über tausend Kilometer muß mit einem einzelnen Schritt beginnen.
                  Laotse "Taoteking"