xNeTworKx: 2 Formulare nebeneinander ausrichten ?

Hi,
Ich habe folgendes Problem, und zwar brauche ich 2 Formularbuttons nebeneinander (deswegen weil die Datei vielleicht "zurückgeschickt" werden müssen). Jetzt könnte ich natürlich hergehen und das Ganze in eine Tabelle stecken, aber da jammert natürlich der Validator, weil ich <form> nicht in <table> verwenden darf.
Ich will, daß die beiden Buttons gleichmäßig nebeneinander sind, aber wenn möglich nicht mit CSS absolut positioniert, da ich Angst habe, daß es sich vielleicht irgendwie unerwartet verschiebt. Ich habe es bereits mit white-space:nowrap probiert, hat aber leider auch nichts genützt.
Gibt es vielleicht doch irgendwie mit Tabellen einen Trick den ich anwenden kann, oder kann man es hier nur mit CSS positionieren ?
Hier die URI zum besseren Verständnis :
http://212.17.119.105/forum2/chkposting.html

  1. Hi,

    Jetzt könnte ich natürlich hergehen und das Ganze in eine Tabelle stecken, aber da jammert natürlich der Validator, weil ich <form> nicht in <table> verwenden darf.

    aber außerhalb davon; und es spricht nichts dagegen, die einzelnen Formularelemente in der Tabelle zu haben.

    Cheatah

    1. Hi,

      aber außerhalb davon; und es spricht nichts dagegen, die einzelnen Formularelemente in der Tabelle zu haben.

      ja, aber bei 2 Formularen mit einer Tabelle ?
      Das ist ja das Problem, weil ich 2 Tabellen machen muss.

      1. Hallo,

        ja, aber bei 2 Formularen mit einer Tabelle ?
        Das ist ja das Problem, weil ich 2 Tabellen machen muss.

        <form style="display: inline">...</form>

        MfG, Thomas

        1. Hi,

          <form style="display: inline">...</form>

          Ich versteh leider nicht wie das gemeint ist, er bricht die Zeile trotzdem um. Ich habs mit div's auch versucht, aber klappt auch nicht. Ich hab mir das Beispiel in Selfhtml dazu angesehen, aber wenn ich das so anwende, daß in beiden form tags display:inline steht, ändert sich auch nichts. Die 2 Bereiche werden nicht nebeneinander angezeigt.

      2. Hi,

        ja, aber bei 2 Formularen mit einer Tabelle ?

        ach so. Was hälst Du von zwei Tabellen mit je einem Formular, die sich in einer äußeren Tabelle befinden?

        Cheatah

        1. Hi,

          ja, aber bei 2 Formularen mit einer Tabelle ?

          ach so. Was hälst Du von zwei Tabellen mit je einem Formular, die sich in einer äußeren Tabelle befinden?

          Wie soll denn das gehen, wenn ich Formulare nicht in Tabellen geben darf ?

          Wenn ich es so mache wie Sven vorgeschlagen hat :

          <body>
          <form>
          <table>
          <input type="button">
          <input type="button">
          </table>
          </form>
          </body>

          weis ich wieder nicht, wie ich die Daten getrennt behandeln soll, weil die 2 Buttons die Daten in den "hidden" Tags verschieden verarbeiten müssen. Form A sendet zurück , Form B verarbeitet.

          1. Hi,

            Wie soll denn das gehen, wenn ich Formulare nicht in Tabellen geben darf ?

            nicht in <table>, nicht in <tr>, wohl aber in <td> und <th>.

            Cheatah

            1. Hi nochmal,

              nicht in <table>, nicht in <tr>, wohl aber in <td> und <th>.

              mache ich es so :
                 <table style="width:750px">
                 <colgroup>
                 <col width="50%">
                 <col width="50%">
                 </colgroup>
                  <tr><td class="postreplymiddle">
                  <form action="" method="post">
                  <input type="hidden" name="text" value="blabla">
                  <input type="submit" class="linkbutton" value="Korrektur">
                  </form>
                  </td>
                  <td class="postreplymiddle">
                  <form action="" method="post">
                  <input type="hidden" name="text" value="blabla">
                  <input type="submit" class="linkbutton" value="abschicken">
                  </form>
                  </td></tr>
                  </table>

              dann fängt der Validator wieder zum raunzen an.

              1. Hi,

                dann fängt der Validator wieder zum raunzen an.

                aber doch nur, weil Du das action-Attribut nicht gefüllt hast, oder? ;-)

                Ernsthaft: Was genau meckert er denn an?

                Cheatah

                1. Yo,

                  *  Line 39, column 51:

                  <input type="hidden" name="text" value="blabla">
                                                                       ^

                  Error: element "INPUT" not allowed here; possible cause is an inline element containing a block-level element
                      * Line 40, column 61:

                  <input type="submit" class="linkbutton" value="Korrektur">
                                                                                 ^

                  Error: element "INPUT" not allowed here; possible cause is an inline element containing a block-level element
                      * Line 41, column 10:

                  </form>
                              ^

                  Error: missing a required sub-element of "FORM"
                      * Line 45, column 51:

                  <input type="hidden" name="text" value="blabla">
                                                                       ^

                  Error: element "INPUT" not allowed here; possible cause is an inline element containing a block-level element
                      * Line 46, column 62:

                  <input type="submit" class="linkbutton" value="abschicken">
                                                                                  ^

                  Error: element "INPUT" not allowed here; possible cause is an inline element containing a block-level element
                      * Line 47, column 10:

                  </form>
                              ^

                  Error: missing a required sub-element of "FORM"

                  1. Hi,

                    *  Line 39, column 51:

                    [...]

                    äh... was hast Du denn für einen Doctype angegeben? Laut http://www.w3.org/TR/html4/struct/tables.html#edef-TD darf <td> %flow, also %block, also <form> beinhalten.

                    Allerdings darf <form> nur <script> und %block beinhalten, welches kein <input> erlaubt, dafür aber <fieldset>, welches seinerseits %flow erlaubt, also auch %inline und damit %formctrl, wo dann die <input> Platz haben ;-)

                    Noch ein paar Verrenkungen gefällig? *g*

                    Cheatah

                    1. Hi,

                      äh... was hast Du denn für einen Doctype angegeben? Laut http://www.w3.org/TR/html4/struct/tables.html#edef-TD darf <td> %flow, also %block, also <form> beinhalten.

                      Habs mit html4 strict und transitional versucht.

                      Allerdings darf <form> nur <script> und %block beinhalten, welches kein <input> erlaubt, dafür aber <fieldset>, welches seinerseits %flow erlaubt, also auch %inline und damit %formctrl, wo dann die <input> Platz haben ;-)

                      Pffffff ?????? lol

                      1. Hallo,

                        äh... was hast Du denn für einen Doctype angegeben? Laut http://www.w3.org/TR/html4/struct/tables.html#edef-TD darf <td> %flow, also %block, also <form> beinhalten.

                        Habs mit html4 strict und transitional versucht.

                        Diese Tabelle mit zwei Formularen validiert problemlos nach XHTML 1.0 Transitional:

                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                        <td align="right"><form action="test1.php" method="post">
                        <b>Text 1:</b> <input type="text" size="15" name="text1" /> <input type="submit" value="Suchen 1" />
                        </form></td>
                        <td><form action="test2.php" method="post">
                         <b>Text 2:</b> <input type="text" size="15" name="text2" /> <input type="submit" value="Suchen 2" />
                        </form></td>
                        </tr>
                        </table>

                        MfG, Thomas

                        1. Hi,

                          Habs mit html4 strict und transitional versucht.

                          Diese Tabelle mit zwei Formularen validiert problemlos nach XHTML 1.0 Transitional:

                          <table width="100%" border="0" cellspacing="0" cellpadding="0">
                          <tr>
                          <td align="right"><form action="test1.php" method="post">
                          <b>Text 1:</b> <input type="text" size="15" name="text1" /> <input type="submit" value="Suchen 1" />
                          </form></td>
                          <td><form action="test2.php" method="post">
                           <b>Text 2:</b> <input type="text" size="15" name="text2" /> <input type="submit" value="Suchen 2" />
                          </form></td>
                          </tr>
                          </table>

                          Naja das XHTML verwirrt mich irgendwie mit seinen />'s .Ich verstehe irgendwie nicht ganz, warum ich das jetzt auf XHTML validieren soll nur wegen diesem kleinen Problem. Ich müsste nämlich alles wieder umändern :) (zb wegen den />)

                          1. Hallo,

                            Naja das XHTML verwirrt mich irgendwie mit seinen />'s .Ich verstehe irgendwie nicht ganz, warum ich das jetzt auf XHTML validieren soll nur wegen diesem kleinen Problem. Ich müsste nämlich alles wieder umändern :) (zb wegen den />)

                            Der Code validiert auch nach HTML 4.01 Transitional, aber nicht nach Strict.

                            MfG, Thomas

                      2. Hi,

                        Allerdings darf <form> nur <script> und %block beinhalten, welches kein <input> erlaubt, dafür aber <fieldset>, welches seinerseits %flow erlaubt, also auch %inline und damit %formctrl, wo dann die <input> Platz haben ;-)
                        Pffffff ?????? lol

                        das war nicht zum Lachen :-) sondern enthält das Dir fehlende Element, welches Deinen Code valide zu machen die unbeschreibliche Macht besitzt...

                        Cheatah

                        1. Hi,

                          das war nicht zum Lachen :-) sondern enthält das Dir fehlende Element, welches Deinen Code valide zu machen die unbeschreibliche Macht besitzt...

                          Natürlich nur nachdem ich davor dieses Worträtsel gelöst habe =), aber wie ich weiter oben schon geantwortet habe, konnte ich das Problem umgehen.

              2. Hi nochmal,

                nicht in <table>, nicht in <tr>, wohl aber in <td> und <th>.

                mache ich es so :

                <form action="" method="post">
                    <input type="hidden" name="text" value="blabla">
                    <input type="submit" class="linkbutton" value="Korrektur">
                    </form>

                <form action="" method="post">
                    <input type="hidden" name="text" value="blabla">
                    <input type="submit" class="linkbutton" value="abschicken">
                    </form>

                dann fängt der Validator wieder zum raunzen an.

                Ohne Wert für die action in den beiden Formularen passiert sowieso nichts.
                Ich hoffe, daß Du das nicht aus den Augen verloren hat.
                So sind doch beide Formulare komplett überfüssig.

                Grüße von SabineP

                1. Hi,

                  Ohne Wert für die action in den beiden Formularen passiert sowieso nichts.
                  Ich hoffe, daß Du das nicht aus den Augen verloren hat.
                  So sind doch beide Formulare komplett überfüssig.

                  Das Ganze soll nur mal das Konstrukt sein. Funktionieren tut da noch nichts. Das würde mir noch fehlen wenn ich dann auch noch gleichzeitig die Fehler des CGI Scripts suchen kann.

  2. Moin!

    Ich habe folgendes Problem, und zwar brauche ich 2 Formularbuttons nebeneinander (deswegen weil die Datei vielleicht "zurückgeschickt" werden müssen). Jetzt könnte ich natürlich hergehen und das Ganze in eine Tabelle stecken, aber da jammert natürlich der Validator, weil ich <form> nicht in <table> verwenden darf.

    Was ist dagegen einzuwenden?

    <body>
    <form>
    <table>
    <input type="button">
    <input type="button">
    </table>
    </form>
    </body>

    Es schadet sicherlich nichts, wenn das Formular über die ganze Seite läuft.

    - Sven Rautenberg

    1. Hallo,

      <body>
      <form>
      <table>
      <input type="button">
      <input type="button">
      </table>
      </form>
      </body>

      Aber wie kann ich dem einen Button sagen, daß er die Daten dorthin schicken soll und der andere Button die Datei dahin ? Ich habs bis jetzt immer so gelöst, daß ich 2 Formulare gemacht hab und jeweils in "hidden" dem Script eine andere "action" Variable geschickt hab, also zB Form 1: action=korrektur , Form2 action=verarbeiten.

      1. Moin!

        Aber wie kann ich dem einen Button sagen, daß er die Daten dorthin schicken soll und der andere Button die Datei dahin ? Ich habs bis jetzt immer so gelöst, daß ich 2 Formulare gemacht hab und jeweils in "hidden" dem Script eine andere "action" Variable geschickt hab, also zB Form 1: action=korrektur , Form2 action=verarbeiten.

        Grundsätzlich: Formulare sind zum Verschicken da. :)

        Wenn du also etwas verschicken willst, kannst du überflüssige Daten ja ignorieren.

        Außerdem kannst du die benutzten Buttons unterscheiden, indem du dem (oder den?) Submit-Button einen Namen gibst. Laß dir einfach mal die gesendeten Formular-Daten ausgeben, dann siehst du, wie's wirkt. Und das Funktioniert dann auch ohne Javascript und Hidden-Felder.

        Ich kriege nur deine eine Äußerung noch nicht ganz untergebracht: Ein Formular schickt immer nur Daten, aber nicht "die Datei" irgendwohin. Das hast du irgendwie noch schlecht beschrieben.

        - Sven Rautenberg

        1. Hallo,

          Außerdem kannst du die benutzten Buttons unterscheiden, indem du dem (oder den?) Submit-Button einen Namen gibst. Laß dir einfach mal die gesendeten Formular-Daten ausgeben, dann siehst du, wie's wirkt. Und das Funktioniert dann auch ohne Javascript und Hidden-Felder.

          Das mit den Buttons hab ich vorher noch gar nicht ausprobiert, da ich es einfach übersichtlicher fand, alles immer mit "hidden" zu steuern, da mein CGI Script über 10 "Zustände" hatte, und dieses wird noch ärger. Deswegen habe ich einfach immer name="action" value="der_gewuenschte_Zustand" angegeben, wegen der Übersicht in dem ganzen if($action eq 'zustand'). Aber da das auch mit den Buttons funktioniert, kann ich es ja ausnahmsweise mit dem value des Buttons steuern und somit hat sich auch das Problem mit den 2 Formularen gelöst =)

          Ich kriege nur deine eine Äußerung noch nicht ganz untergebracht: Ein Formular schickt immer nur Daten, aber nicht "die Datei" irgendwohin. Das hast du irgendwie noch schlecht beschrieben.

          Ich glaube ich habe 'Daten' gemeint und hab mich nur verschrieben.

  3. hi

    Ich habe folgendes Problem, und zwar brauche ich 2 Formularbuttons nebeneinander (deswegen weil die Datei vielleicht "zurückgeschickt" werden müssen). Jetzt könnte ich natürlich hergehen und das Ganze in eine Tabelle stecken, aber da jammert natürlich der Validator, weil ich <form> nicht in <table> verwenden darf.

    innerhalb einer <td> darf ein <form> ja sein - und darin kann dann eine weitere <table> sein....

    Grüße aus Lüneburg

    Kai