Sebi_E: Formular

Hallo Leute,

mein Problem ist Folgendes: und zwar habe ich ein Formular erstellt, dass später durch eine php-Seite ausgewertet wird. Schön und gut, funktioniert auch einwandfrei. Nur habe ich zwei Submit-Buttons erstellt und hätte gerne, dass der eine Button an eine andere Seite übergibt als der andere. Ich denke mir das Problem ist soweit klar und wahrscheinlich ist die Lösung gar nicht mal so kompliziert nur reichen meine Kenntnisse zur Behebung nicht aus. Quelltext spar ich mir hier deswegen. Kann mir jemand helfen?

Danke im Vorraus

Sebi

P.S. ich glaub nicht, dass es mit HTML lösbar ist, aber ich weiß nicht ob mit PHP oder JavaScript oder was auch immer, deshalb stehts bei HTML

  1. Hallo,

    [...] Nur habe ich zwei Submit-Buttons erstellt und hätte gerne, dass der eine Button an eine andere Seite übergibt als der andere.

    das ist zwar mit Trickserei möglich, indem man den submit-Buttons einen onclick-Handler verpasst und dann dynamisch das action-Attribut setzt.
    Aber da das bei Benutzern ohne Javascript nicht funktioniert, rate ich dir zu einer (meiner Ansicht nach) einfacheren Methode: Beide submit-Buttons senden das Formular an dasselbe Script ab, das anhand des übertragenen value des submit-Buttons unterscheidet, welche Aktion auszuführen ist.

    P.S. ich glaub nicht, dass es mit HTML lösbar ist, ...

    Nö, mit Sicherheit nicht. Es sei denn, die Formularfelder sind voneinander so unabhängig, dass du zwei getrennte Formulare mit je einem eindeutigen submit-Button draus machen kannst.

    So long,
     Martin

    --
    F: Was sagt der große Keks zum kleinen Keks?
    A: Du kannst dich jetzt verkrümeln.
  2. hallo,

    Nur habe ich zwei Submit-Buttons erstellt und hätte gerne, dass der eine Button an eine andere Seite übergibt als der andere.

    Dann wirst du vermutlich auch zwei unterschiedliche Formulare brauchen, da es hier darauf ankommt, was du bei "action" angibst. Du machst die Beantwortug deiner Frage wesentlich leichter, wenn du den rewlevanten Teil deines Codes angibst.

    P.S. ich glaub nicht, dass es mit HTML lösbar ist

    Doch, in diesem Fall schon.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Moin,

      Du machst die Beantwortug deiner Frage wesentlich leichter, wenn du den rewlevanten Teil deines Codes angibst.

      Wieso, wie soll der wohl aussehen? Ich nehme an, wie der Code eines völlig durchschnittlichen Formulars eben, nur mit 2 Submit-Buttons.

      Grüße aus Hamburg
      Michel

      --
      Ein Problem ist halb gelöst, wenn es klar formuliert ist. (John Dewey)
      1. hallo Michel,

        Du machst die Beantwortug deiner Frage wesentlich leichter, wenn du den relevanten Teil deines Codes angibst.
        Wieso, wie soll der wohl aussehen?

        Er wird genau _die_ Fehler enthalten, die dich stolpern lassen.

        Ich nehme an, wie der Code eines völlig durchschnittlichen Formulars eben, nur mit 2 Submit-Buttons.

        Für _deinen_ Code solltest du nichts annehmen, sondern dir gewiß sein, was drin steht. Bei der Fehlersuche und -behebung hilft es überhaupt nichts, wenn du Mutmaßungen und Vergleiche anbietest. Da hilft nur und _ausschließlich_ dein konkreter Code, der doch offenbar nicht so funktioniert hat, wie du wolltest.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. Moin,

          Er wird genau _die_ Fehler enthalten, die dich stolpern lassen.

          [...]

          Für _deinen_ Code solltest du nichts annehmen, sondern dir gewiß sein, was drin steht. Bei der Fehlersuche und -behebung hilft es überhaupt nichts, wenn du Mutmaßungen und Vergleiche anbietest. Da hilft nur und _ausschließlich_ dein konkreter Code, der doch offenbar nicht so funktioniert hat, wie du wolltest.

          Öh, ich bin/war gar nicht der OP :-)

          Grüße aus Hamburg
          Michel

          --
          Ein Problem ist halb gelöst, wenn es klar formuliert ist. (John Dewey)
  3. Hallo Sebi_E,

    mein Problem ist Folgendes: und zwar habe ich ein Formular erstellt, dass später durch eine php-Seite ausgewertet wird. Schön und gut, funktioniert auch einwandfrei. Nur habe ich zwei Submit-Buttons erstellt und hätte gerne, dass der eine Button an eine andere Seite übergibt als der andere.

    Also mit JavaScript könntest du mit onclick auf einen anderen Submit-Button den Wert des Action-Attributes im selben Form-Element auch noch vor dem Abschicken schnell wechseln.

      
    <input type="submit" onclick="[code lang=javascript]this.form.action='meineAndereAction.html'
    ~~~" />  
    [/code]  
    Gruß Gernot
    
  4. Moin,

    mein Problem ist Folgendes: und zwar habe ich ein Formular erstellt, dass später durch eine php-Seite ausgewertet wird. Schön und gut, funktioniert auch einwandfrei. Nur habe ich zwei Submit-Buttons erstellt und hätte gerne, dass der eine Button an eine andere Seite übergibt als der andere.

    Ich hätte noch eine serverseitige Lösung:

    Du kannst ja unter Zuhilfenahme des "name"- und "value"-Attributs Informationen übergeben, auf welchen der zwei Submit-Buttons der User gedrückt hat. Bsp.:

      
     <input type="submit" name="var" value="foo">  
     <input type="submit" name="var" value="bar">  
    
    

    Das ergibt je nachdem (mit GET-method): 'ergebnis.php?var=foo'

    Auf der Ergebnis-Seite ist nach dem Absenden die Variable $var entweder "foo" oder "bar" und du kannst z.B. per if/else entscheiden, was passieren soll. Klingt einfach, ist aber so :-)

    Grüße aus Hamburg
    Michel

    --
    Ein Problem ist halb gelöst, wenn es klar formuliert ist. (John Dewey)
    1. hallo,

      Du kannst ja unter Zuhilfenahme des "name"- und "value"-Attributs Informationen übergeben, auf welchen der zwei Submit-Buttons der User gedrückt hat.

      Nein. Die Inhalte dieser beiden Formular-Elemente werden übermittelt.

      <input type="submit" name="var" value="foo">
      <input type="submit" name="var" value="bar">
      Das ergibt je nachdem (mit GET-method): 'ergebnis.php?var=foo'

      GET ist nicht besonders gut geeignet. Und egal, was da nun drinsteht: solange in "action" dasselbe Script um Verarbeitung gebeten wird, ist das Problem des OP nicht gelöst.

      Auf der Ergebnis-Seite ist nach dem Absenden die Variable $var entweder "foo" oder "bar" und du kannst z.B. per if/else entscheiden, was passieren soll.

      Das hat Der Martin bereits wesentlich prägnanter ausgesagt.

      Grüße aus Berlin

      Christoph S.

      --
      Visitenkarte
      ss:| zu:) ls:& fo:) va:) sh:| rl:|
      1. Moin,

        Nein. Die Inhalte dieser beiden Formular-Elemente werden übermittelt.

        Oder so.

        GET ist nicht besonders gut geeignet.

        Du kennst die Site des OP genauer? Klär mich auf.

        Und egal, was da nun drinsteht: solange in "action" dasselbe Script um Verarbeitung gebeten wird, ist das Problem des OP nicht gelöst.

        hmm, check ich nich. Er wollte zwei unterschiedliche _Seiten_ und mit meiner Methode kriegt er sie (defacto). Meinetwegen kann er da dann noch mit header("Location:...") rumbasteln, wenn er will.

        Das hat Der Martin bereits wesentlich prägnanter ausgesagt.

        Oh stimmt, hatte ich sofort wieder weitergeklickt als ich onclick-Hanlder gelesen hatte. Was gegen die Prägnanz sprechen würde ;) Nein, du hast aber recht.

        Grüße aus Hamburg
        Michel

        --
        Ein Problem ist halb gelöst, wenn es klar formuliert ist. (John Dewey)
      2. Hallo,

        Du kannst ja unter Zuhilfenahme des "name"- und "value"-Attributs Informationen übergeben, auf welchen der zwei Submit-Buttons der User gedrückt hat.

        Nein. Die Inhalte dieser beiden Formular-Elemente werden übermittelt.

        Quatsch.

        Mathias

        1. hallo Mathias,

          Die Inhalte dieser beiden Formular-Elemente werden übermittelt.
          Quatsch.

          Könntest du das bitte erläutern?

          Grüße aus Berlin

          Christoph S.

          --
          Visitenkarte
          ss:| zu:) ls:& fo:) va:) sh:| rl:|
          1. habe d'ehre Christoph

            hallo Mathias,

            Die Inhalte dieser beiden Formular-Elemente werden übermittelt.
            Quatsch.
            Könntest du das bitte erläutern?

            <form name="test" method="post" action="schauwaskommt.php">
            <input type="submit" name="foo" value="senden1">
            <input type="submit" name="foo" value="senden2">
            </form>

            Erlaeuterung nach Code lesen

            man liest sich
            Wilhelm

          2. Hallo,

            Könntest du das bitte erläutern?

            Das hat Der Martin bereits wesentlich prägnanter ausgesagt.

            Mathias