.:thomas:.: Zwei Seiten abschicken und onsubmit

Hallo,
ich benutze folgendes Script um Daten von einem Formular an zwei verschiedene Seiten abzuschicken:

<script language="javascript1.2">
<!--
function changesubmit(Formular, Seite)
{
document.Formular.action=Seite;
document.Formular.submit();
}
-->
</script>

Die Buttons sehen wie folgt aus:
<button type="submit" onclick="changesubmit('Formular', Seite1.asp')">Eintragen 1</button>

<button type="submit" onclick="changesubmit('Formular', Seite2.asp')">Eintragen 2</button>

Funktioniert aus soweit. Nun möchte ich aber bei der ersten Seite eine Überprüfung durchführen, mit onsubmit="return chkFormular()" und bei der zweiten Seite nicht.

Ich bekomme das aber irgendwie überhaupt nicht hin. Kann mir jemand helfen? Danke.

  1. Moin Moin !

    <button type="submit" onclick="changesubmit('Formular', Seite1.asp')">Eintragen 1</button>
    <button type="submit" onclick="changesubmit('Formular', Seite2.asp')">Eintragen 2</button>

    Nun möchte ich aber bei der ersten Seite eine Überprüfung durchführen, mit onsubmit="return chkFormular()" und bei der zweiten Seite nicht.

    Denk nach. Du willst changesubmit() nur dann aufrufen, wenn chkFormular() es erlaubt. Du brauchst onsubmit nicht.

    #    ###
        #
    #   #
    #   #
    #  ####
    #   #
    #   #

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
    1. Tut mir leid, ich komm nicht drauf.

      Wenn ich nicht schon stundenlang probiert hätte, dann würde ich ja auch keine Frage in dieses Forum schreiben ;-)

      1. Moin Moin !

        Wie groß soll ich das "if" denn noch schreiben?

        Alexander

        --
        Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
        1. Danke ich habs erkannt, aber es will einfach nicht. Vielleicht sollte ich es für heute lassen...

          Noch etwas:
          Bei einem Formular benätoge ich ENCTYPE="multipart/form-data" beim anderen nicht.

          Hat jemand vll eine fertige Lösung? Danke, danke, danke.

          1. Bei einem Formular benätoge ich ENCTYPE="multipart/form-data" beim anderen nicht.

            Dieses Problem habe ich mittlerweile gelöst. Das erste allerdings immer noch nicht...

            Die Lösung: document.Formular.encoding=...

            1. Moin!

              Bei einem Formular benätoge ich ENCTYPE="multipart/form-data" beim anderen nicht.

              Dieses Problem habe ich mittlerweile gelöst. Das erste allerdings immer noch nicht...

              Die Lösung: document.Formular.encoding=...

              Eigentlich kannst du das Encoding so lassen. Denn gute Serverskripte kriegen es hin, auf den Enctype entsprechend zu reagieren (lediglich "text/plain" kriegen sie nicht so ganz hin) und die Daten dennoch in einheitlicher Weise zur Verfügung zu stellen.

              Jedenfalls ist es mit PHP und ordentlichen Perl-Skripten so - ASP kann sich natürlich querstellen...

              - Sven Rautenberg

              --
              Signatur oder nicht Signatur - das ist hier die Frage!
              1. Hallo Sven,
                ich bekomme zwar einen kleinen JScript Fehler, aber außer in der Statusleiste macht sich dieser nicht bemerkbar. Werde wohl damit Leben müssen :-), weil er bei der zweiten Seite den enctype sucht, aber hier keiner eingetragen ist...

                Aber das Problem, das immer noch besteht:

                ich benutze folgendes Script um Daten von einem Formular an zwei verschiedene Seiten abzuschicken:

                <script language="javascript1.2">
                <!--
                function changesubmit(Formular, Seite)
                {
                document.Formular.action=Seite;
                document.Formular.submit();
                }
                -->
                </script>

                Die Buttons sehen wie folgt aus:

                <button type="submit" onclick="changesubmit('Formular', Seite1.asp')">Eintragen 1</button>
                <button type="submit" onclick="changesubmit('Formular', Seite2.asp')">Eintragen 2</button>

                Funktioniert aus soweit. Nun möchte ich aber bei der ersten Seite eine Überprüfung durchführen, mit onsubmit="return chkFormular()" und bei der zweiten Seite nicht.

                1. Moin!

                  Aber das Problem, das immer noch besteht:

                  ich benutze folgendes Script um Daten von einem Formular an zwei verschiedene Seiten abzuschicken:
                  Die Buttons sehen wie folgt aus:

                  Mal so ganz grundsätzlich die Frage, warum du bei solch einer Aktion auf das als unzuverlässig anzusehende Javascript ausweichst? Schließlich hättest du auch ganz schlicht zwei Submit-Buttons in die Seite packen können und das Formular an _ein_ Skript schicken, welches dann feststellt, welcher der zwei Buttons gedrückt wurde (nur dessen name/value-Kombination wird mitgesendet). Und schon hättest du ein Problem weniger. Außerdem könntest du onclick bei dem einen Button das Forumlar checken und so das Absenden verhindern, wenn Javascript aktiviert ist.

                  Funktioniert aus soweit. Nun möchte ich aber bei der ersten Seite eine Überprüfung durchführen, mit onsubmit="return chkFormular()" und bei der zweiten Seite nicht.

                  Vergiß den onsubmit-Eventhandler, wenn du mit Javascripts submit()-Methode ein Formular abschickst. Dieser Eventhandler feuert dann nicht! Und das ist eigentlich auch ganz gut so und vollkommen unnötig, denn Eventhandler dienen dazu, nach Useraktionen die Programmkontrolle zu erlangen. Wenn du per Javascript ein Formular abschickst, _hast_ du aber bereits die Programmkontrolle. Das bedeutet, du solltest dein Formular einfach vor dem submit() checken und nur im Erfolgsfall submitten.

                  - Sven Rautenberg

                  --
                  Signatur oder nicht Signatur - das ist hier die Frage!