Robert: Formulare unterschiedlich abschicken

Hallo,

ich möchte gerne ein Formular auf 2 verschiedene Weisen abschicken. Es soll 2 Buttons geben, "Aktualisieren" und "Weiter".

Bei Weiter sollen die Daten ganz normal an eine nächste Datei abgeschickt werden, bei Aktualsieren soll das gleiche Formular, also die gleiche Datei nochmal aufgerufen werden.

Ich bräuchte also eine Möglichkeit, wie ich "action" entsprechend des gedrückten Buttons manipulieren kann. Ich kann das ja sicher per Javascript machen, aber habe irgendwo gelesen, dass das nicht so empfehlenswert sein soll. Weiss jemand Rat? Und wenn doch Javascript, wie?

Zum eigentlichen Effekt:
Ich möchte das der Benutzer eine Auswahl treffen kann, wieviele Antwortmöglichkeiten (Text-Felder) er angezeigt bekommen soll. Er tippt also eine 3 ein und drückt aktualisieren, dann werden ihm 3 Felder angezeigt. Ist mein Ansatz für das Problem richtig oder gibt es vielleicht eine ganz andere/bessere Lösung?

Vielen Dank schonmal für eure Antworten und schön freundlich bleiben, bin Anfänger  ;o)

  1. Hi!

    Ich würde eine Menge von Antwortfeldern festlegen (die Maximalzahl ist doch sicher bekannt). Dann würde ich per Javascript alle nicht gewünschten ausblenden (visible = false). Und dieser Funktion (das Ausblenden) per Pulldown die Anzahl übergeben.

    Grüße
    Jens

    1. Hi!

      Ich würde eine Menge von Antwortfeldern festlegen (die Maximalzahl ist doch sicher bekannt). Dann würde ich per Javascript alle nicht gewünschten ausblenden (visible = false). Und dieser Funktion (das Ausblenden) per Pulldown die Anzahl übergeben.

      Grüße
      Jens

      Kannst du mir vielleicht nochmal dabei helfen, habs bis jetzt so:

      <script type="text/javascript">
      function show (temp) {
          if (temp=1)
          document.getElementById("test1").style.visibility = "visible";
          if (temp=2)
          document.getElementById("test2").style.visibility = "visible";
          if (temp=3)
          document.getElementById("test3").style.visibility = "visible";
      }
      </script>
      ...
      echo "<tr><td><select name=auswahl onchange={show(this.value);}>";
      echo "<option value=1>1</option>";
      echo "<option value=2>2</option>";
      echo "<option value=3>3</option>";
      echo "</select></td></tr>";

      echo "<div id=test1 style='visibility:hidden;'><tr><td>Hallo 1</td></tr></div>";
      echo "<div id=test2 style='visibility:hidden;'><tr><td>Hallo 2</td></tr></div>";
      echo "<div id=test3 style='visibility:hidden;'><tr><td>Hallo 3</td></tr></div>";
      ...

      aber es funktioniert nicht...

      1. Hi!

        Ich hoffe das hilft. Ich hab's nur im FF gestestet.

        Grüße
        Jens

        <script type="text/javascript">
        function show (temp) {
          document.getElementById("t2").style.visibility = "visible";
          document.getElementById("t3").style.visibility = "visible";
            auswahl = temp.selectedIndex;
            if (auswahl==0) {
             document.getElementById("t2").style.visibility = "hidden";
             document.getElementById("t3").style.visibility = "hidden";
          }
            if (auswahl==1) document.getElementById("t3").style.visibility = "hidden";
        }
        </script>

        <body>
        <form name="form1" method="post" action="">
            <input name="textfield" type="text" id="t1" value="1">
            <br>
            <input name="textfield" type="text" id="t2" value="2">
            <br>
            <input name="textfield" type="text" id="t3" value="3">
            <br><br>
            <select id="selecter" name="select" onChange="show(this)">
              <option value="1">1</option>
              <option value="2">2</option>
              <option value="3" selected>3</option>
            </select>
            </p>
        </form>

  2. Hi,

    Ich bräuchte also eine Möglichkeit, wie ich "action" entsprechend des gedrückten Buttons manipulieren kann.

    das ist nicht der richtige Weg. Die Entscheidung, welches Ergebnis der User präsentiert bekommen soll, trifft der Server. Was ist beispielsweise, wenn er auf "Weiter" klickt, der Server aber feststellt, dass in den übergebenen Daten ein Fehler ist? Ergo: Beide Aktionen werden vom selben Script gehandhabt, welches mit der selben Basis-URL angesprochen wird.

    Ich kann das ja sicher per Javascript machen, aber habe irgendwo gelesen, dass das nicht so empfehlenswert sein soll.

    Korrekt. Es ist beispielsweise deswegen nicht empfehlenswert, weil Du niemals voraussetzen darfst, dass JavaScript auch unterstützt wird.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  3. Lieber Robert,

    davon hatten wir es doch neulich...

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.