Sophie: <-form action=""> ändern

Guten Morgen,

ist es möglich ein

<form method="post" action="erstellen.php">
</form>

zu ändern, je nachdem was ich bei

<select name="bereich" id="bereich">
  <option value="1">P1</option>
  <option value="2">P2</option>
  <option value="3">P3</option>
</select> 

Wenn ich also P2 gewählt habe, sollte in action=erstellen-2.php stehen.

akzeptierte Antworten

  1. Hallo

    ist es möglich ein

    <form method="post" action="erstellen.php">
    </form>
    

    zu ändern, je nachdem was ich bei

    <select name="bereich" id="bereich">
      <option value="1">P1</option>
      <option value="2">P2</option>
      <option value="3">P3</option>
    </select> 
    

    Wenn ich also P2 gewählt habe, sollte in action=erstellen-2.php stehen.

    Ja, du kannst, mit den üblichen Einschränkungen, mit JavaScript den Wert des Attributs action anpassen. Aber warum willst du das tun? Du kannst in dem Script erstellen.php genausogut anhand der übergebenen Werte verschiedene Prüf- und Verarbeitungszweige ansprechen. Das kann z.B. der Wert des Selects sein, das könnte aber auch einer von mehreren Buttons zum absenden des Formulars sein.

    Tschö, Auge

    --
    Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
    Toller Dampf voraus von Terry Pratchett
    1. Guten Morgen,

      Ja, du kannst, mit den üblichen Einschränkungen, mit JavaScript den Wert des Attributs action anpassen.

      Danke dann schau ich mich gleich mal bisschen bei JavaScript um.

      Aber warum willst du das tun? Du kannst in dem Script erstellen.php genausogut anhand der übergebenen Werte verschiedene Prüf- und Verarbeitungszweige ansprechen. Das kann z.B. der Wert des Selects sein, das könnte aber auch einer von mehreren Buttons zum absenden des Formulars sein.

      Ich baue damit eine PDF zusammen. Je nachdem welcher Punkt ich gewählt habe ist mal mehr mal weniger zu sehen. Wenn ich jetzt alles auf einer Seite abarbeite, wird diese doch sehr unübersichtlich. Da habe ich lieber 3 separate Dateien und weiß dann welche Datei für was zuständig ist.

      Für die PDF nutze ich HTML2PDF

      1. Hello,

        Danke dann schau ich mich gleich mal bisschen bei JavaScript um.

        Wenn Du das clientseitig mit JS löst, kannst Du die Seite ohne JS nicht mehr vollständig bedienen.

        Besser ein gemeinsames Ziel (Controller, do.php) wählen und anhand des übergebenen Postparameters dort erkennen lassen, was getan werden soll. Nach erfolgter Berechtigungsprüfung dann das zugehörige Modul dazuladen (include).

        Liebe Grüße
        Tom S.

        --
        Es gibt nichts Gutes, außer man tut es
        Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
      2. Hallihallo!

        Aber warum willst du das tun? Du kannst in dem Script erstellen.php genausogut anhand der übergebenen Werte verschiedene Prüf- und Verarbeitungszweige ansprechen. Das kann z.B. der Wert des Selects sein, das könnte aber auch einer von mehreren Buttons zum absenden des Formulars sein.

        Ich baue damit eine PDF zusammen. Je nachdem welcher Punkt ich gewählt habe ist mal mehr mal weniger zu sehen. Wenn ich jetzt alles auf einer Seite abarbeite, wird diese doch sehr unübersichtlich. Da habe ich lieber 3 separate Dateien und weiß dann welche Datei für was zuständig ist.

        Das Eine schliesst ja das Andere nicht aus. Du kannst doch ohne Probleme das gesamte Formular an "erstellen.php" schicken, und diese besteht dann im Kernteil aus

        switch ($_POST['bereich']) {
           case '1'   :   include('erstellen-1.php');
                          break;
           case '2'   :   include('erstellen-2.php');
                          break;
           case '3'   :   include('erstellen-3.php');
                          break;
           default    :   include('was-auch-immer-evtl-eine-fehlerseite.php');
                          break;
        }
        

        In diese erstellen.php kann man dann auch prima eine zentrale Validierung und Fehlerbehandlung setzen, so dass sich die 3 verschiedenen erstellen- Skripte wirklich ausschliesslich um die PDF-Erstellung und Nichts anderes mehr kümmern.

        Beste Grüsse, Tobias Hahner

      3. @@Sophie

        Wenn ich jetzt alles auf einer Seite abarbeite, wird diese doch sehr unübersichtlich. Da habe ich lieber 3 separate Dateien und weiß dann welche Datei für was zuständig ist.

        Wenn die Dateien in Teilen gleichen Code – also duplizierten Code – enthalten, ist das auch nicht die beste Variente.

        LLAP 🖖

        --
        “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
  2. Hallo Sophie,

    ggf. ist auch das formaction-Attribut für dich interessant.

    Gruß
    Julius

    1. @@Julius

      ggf. ist auch das formaction-Attribut für dich interessant.

      Ab IE 10, falls das von Belang sein sollte.

      LLAP 🖖

      --
      “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory