Hans-Peter Langwieser: Zwei Formulare nebeneinander oder zwei Form actions - wie?

Hallo,

Braeuchte Hilfe zu Formularen.

Fact:
Auf einer Formularseite sind am Ende zwei Buttons, "Zurueck" und "Weiter"
Je nach Klick soll ein anderes Formaction ausgefuehrt werden.
(history-back bei "Zurueck" darf nicht verwendet werden)

Loesung1:
zwei verschiedene Form actions mit einem Formular ??????? wie???

Loesung2:
zwei verschiedene Formulare (that's easy), aber jetzt kommt's:
Die submit-Buttons _muessen_ nebeneinander liegen!!!! (fragt nicht warum, das ist fact!)

Wie zwei Formulare nebeneinander plazieren?
Ein Formular innerhalb einer table ist ja nicht erlaubt, oder sehen die Browser (welche?)
darueberhinweg?

Hoffe es war nicht zu kompliziert,
Danke fuer Hilfe!

Hans-Peter

  1. Vielleicht hilft Dir die Javascript-Methode submit() weiter:

    <../../tecbbd.htm#a10>

    Du könntest also statt der submit-Buttons 2 verschiedene Grafiken verwenden, und sie mit zwei verschiedenen Links ausstatten:

    <a href="javascript:document.Testform1.submit()">
    <img src=bild1....>  </a>

    <a href="javascript:document.Testform2.submit()">
    <img src=bild2....>  </a>

    In den <form>-tags mußt Du halt die entsprechenden Ziele angeben. Wo die Forms dann letztendlich stehen, braucht Dich bei den so generierten SUBMIT-Buttons dann nicht mehr zu interessieren, da diese SUBMIT-Buttons auch außerhalb von <form></form> stehen können.

    Gruß

    Christian Schnagl

    1. Hallo Christian,

      danke fuer den Tip, ein guter Ansatz,

      leider funzt es noch nicht ganz (maybe ein Fehler von mir)
      Hast Du kurz Zeit den source zu checken?
      http://62.140.13.83/t1/buchen2.htm

      thanks!

      Gruesse HP

      1. Hallo !

        leider funzt es noch nicht ganz (maybe ein Fehler von mir)
        Hast Du kurz Zeit den source zu checken?
        http://62.140.13.83/t1/buchen2.htm

        Bei form1 steht METHOD="POST", versuch dort auch mal METHOD="GET", vielleicht hilft‚s... sonst habe ich keinen Fehler gefunden...

        CIAO
        H-Man

      2. Hallo HP,

        Formulardaten können nur von CGI-Programmen ausgewertet werden (bei method get und post) oder per e-mail versendet (method mailto:...) werden. Du hast aber bei ACTION ein htm-File angegeben.

        Gruß
        Christian

        1. Formulardaten können nur von CGI-Programmen ausgewertet werden (bei method get und »»post) oder per e-mail versendet (method mailto:...) werden. Du hast aber bei ACTION ein »»htm-File angegeben.

          hmmmh... das hab ich schon x-mal gemacht und funktioniert einwandfrei (zum offline-testen
          oder dummy-Seiten machen)

          Hab jetzt beide method auf GET gesetzt, jetzt funktioniert zumindest die eine action
          -->http://62.140.13.83/t1/buchen2.htm (reload)

          Anscheinend ist es doch nicht egal, wo die images liegen. In diesem fall
          innerhalb einer table innerhalb des ersten forms.

          Gruesse,
          HP

          1. hmmmh... das hab ich schon x-mal gemacht und funktioniert einwandfrei (zum offline-testen
            oder dummy-Seiten machen)

            ???
            Geht aber nicht bei dieser Methode.
            Hier ein Zitat von der URL, die ich Dir bei meiner ersten Antwort gegeben habe:

            ####Zitatanfang####
            Sendet ein Formular ab und hat die gleiche Wirkung wie ein Button, der in HTML mit   type=submit definiert wurde. Die  JavaScript-Methode funktioniert seit Netscape 3.0 jedoch nur noch, wenn das Formular von einem Programm weiterverarbeitet wird,
            d.h. wenn im einleitenden <form>-Tag bei der Angabe action= zum Beispiel ein CGI-Programm aufgerufen wird. Wenn bei action= eine E-Mail-Adresse oder eine Newsgroup angegeben wird, funktioniert sie nicht.
            ###Zitatende####

            Anscheinend ist es doch nicht egal, wo die images liegen. In diesem fall
            innerhalb einer table innerhalb des ersten forms.

            Es ist vollkommen egal wo diese liegen...

            Gruß
            Christian

            PS: Bei weiteren Fragen kannst Du Dich gerne per E-Mail an mich wenden!

  2. Loesung2:
    zwei verschiedene Formulare (that's easy), aber jetzt kommt's:
    Die submit-Buttons _muessen_ nebeneinander liegen!!!! (fragt nicht warum, das ist fact!)

    Wie zwei Formulare nebeneinander plazieren?
    Ein Formular innerhalb einer table ist ja nicht erlaubt, oder sehen die Browser (welche?)
    darueberhinweg?

    Ich habe genau das in einem Web-Produkt gemacht und mit Netscape 3 & 4 sowie MSIE 3-5 getestet. Die Browser sind tolerant genug, Layout (Tabelle) und Formular unabhängig voneinander auszuwerten, auch wenn das der Klammerstruktur der Sprache HTML im strengen Sinne vielleicht nicht entspricht. Ich habe Formular- und Tabellenfelder völlig meinem Layoutziel untergeordnet, die Browser stört das offenbar nicht, wenn man in einer Tabellenzelle ein Formular aufmacht und in einer anderen schließt usw.

    Der SUBMIT-Button, der die "alternative" Aktion auslösen soll, muß dann wahrscheinlich "rechts" liegen, weil die Zellen innerhalb einer Tabellenzeile nun mal von links nach rechts definiert werden. Dieses Formular ist dann ganz kurz und steht vollständig in der eigenen Tabellenzelle, während das andere über die gesamte Tabelle bis VOR dieser Zelle verstreut ist. So habe ich es realisiert, und es funktioniert mit den genannten Browsern.