Mehrere Buttons ein Formular

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrere Buttons ein Formular

    Ich habe ein Formular mit 2 Textareas und zwei hidden fields.
    In die Formularfelder wird Text aus der DB eingelesen.
    In den Felder kann man ihn ändern und an die DB zurückschicken.
    Um Textformatierungen, die hier ja im Quellcode stehen, ansehen zu können, brauch ich noch einen Button, der eine neue Seite öffnet, wo man den Text als Preview sehen kann.
    Deshalb hab ich noch einen Formularbereich eingerichtet und hidden fields für die Variablen angelegt. Das Problem: Die hidden fields im zweiten Formular, die die gleichen Namen haben wie die Textareas bleiben leer und werden nicht weiterübertragen.
    Was ist zu tun?

    <form action="preview.php" name="FormName" target="preview">
    <table width="122" cellspacing="0" cellpadding="3">
    <tr>
    <td valign="top" width="80">
    <div align="right">
    <span class="lesen">&Uuml;berschrift</span>:</div>
    </td>
    <td><input type="text" name="head" value="<? echo $row -> head ?>" size="60"></td>
    </tr>
    <tr>
    <td valign="top" width="80">
    <div align="right">
    <span class="lesen">Inhalt:</span></div>
    </td>
    <td><textarea name="content" rows="14" cols="60"><? echo $row -> content ?></textarea></td>
    </tr>
    <tr>
    <td width="80"><input type="hidden" name="tb" value="<? echo "$tb" ?>"><input type="hidden" name="id" value="<? echo "$id" ?>"></td>
    <td><input type="submit" name="submitButtonName" value="Preview aktualisieren"></td>
    </tr>
    </table>
    </form>
    <form action="edit2.php" name="FormName" target="_top">
    <input type="submit" name="submitButtonName" value="Datensatz &auml;ndern"><input type="hidden" name="id" value="<? echo $id ?>"><input type="hidden" name="tb" value="<? echo $tb ?>"><input type="hidden" name="head" value="<? echo $head ?>">
    </form>

  • #2
    Wie wäre es, wenn Du den zweiten Button mit in das erste Formular nimmst
    und im "preview.php" abfragst, welcher Button angeklickt wurde ?

    Kommentar


    • #3
      Re: Mehrere Buttons ein Formular

      cosmo2000 hat recht, sein vorschlag ist die beste möglichkeit.

      Deshalb hab ich noch einen Formularbereich eingerichtet und hidden fields für die Variablen angelegt. Das Problem: Die hidden fields im zweiten Formular, die die gleichen Namen haben wie die Textareas bleiben leer und werden nicht weiterübertragen.
      Was ist zu tun?
      1. das mit den gleichen namen ist gar nicht erlaubt. der name hat ein dateiweit einzigartiger bezeichner zu sein.
      2. natürlich werden die nicht mit gefüllt, wieso sollten sie auch? du schreibst in die sichtbaren textfelder, da bleiben die unsichtbaren hidden fields völlig unberührt von.
      wenn du sie gefüllt übergeben wolltest, müsstest du vor dem abschicken per javascript die werte aus den textfeldern in die hidden fields übertragen. aber das ist dann wieder eine sehr unsichere sache, weil man es ja auch ausgeschaltet haben kann...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        hallo,
        wie soll das denn dann weitergehen?
        Ich kanns mir nicht so recht vorstellen.
        Ich schick also erstmal die Daten an preview.php und dort müßten sie nach Abfrage, welcher Button gedrückt wurde weiter geschickt werden an edit2.php.
        Wie geht das?
        Gäbe es nicht auch die Möglichkeit, im Formular einen 2. Button anzulegen, der per JS die Felder ausliest und den Inhalt an preview.php schickt?

        Kommentar


        • #5
          also, du hast 2 buttons z.B so:
          Code:
          <input type="submit" name="submit" value="Datensatz ändern">
          <input type="submit" name="preview" value="Preview aktualisieren">
          in der preview.php kannst du diese dann abfragen:
          PHP-Code:
          <?php 
          if (isset($_POST["submit"])){
          include(
          "edit2.php");//Speicherscript includen, wenn speichern gedrückt
          }
          else{
          //hier deine Preview einfügen
          }
          ?>
          im form tag solltest du noch ergänzen:
          Code:
          <form action="preview.php" name="FormName" target="preview" method="POST">
          damit die daten mit POST übertragen werden.

          Du kannst das Ganze natürlich auch mit javascript machen, hat der Benutzer aber JS deaktiviert geht das Preview nicht... Ich würde das also mit php machen.

          Kommentar


          • #6
            Hallo,
            das klingt sehr vielversprechend.
            Muß ich mal ausprobiern.

            Gunther
            Zuletzt geändert von Gunther; 08.11.2002, 12:05.

            Kommentar

            Lädt...
            X