Oliver: Formular teilen

Hi SelfHTMLler,

ich möchte auf meiner Webseite ein Formular einbauen. Dieses soll im oberen Bereich Pflichteingabefelder enthalten und im unteren Teil optionale Eingabefelder. Zwischen den beiden Teilen soll beschreibender Text stehen, dieser jedoch keinen logischen Zusammenhang zum Formular haben, d.h. nicht im durch <form> und </form> definierten Bereich stehen. Trotzdem sollen beide Teile des Formulars zu ein und demselben Formular gehören.

Gibt es in HTML bzw. CSS eine Möglichkeit, ein Formular so zu gestalten? Schon mal vielen Dank für Eure Hilfe.

MfG
Oliver

  1. Hallo,

    ich möchte auf meiner Webseite ein Formular einbauen. Dieses soll im oberen Bereich Pflichteingabefelder enthalten und im unteren Teil optionale Eingabefelder. Zwischen den beiden Teilen soll beschreibender Text stehen, dieser jedoch keinen logischen Zusammenhang zum Formular haben, d.h. nicht im durch <form> und </form> definierten Bereich stehen. Trotzdem sollen beide Teile des Formulars zu ein und demselben Formular gehören.

    Gibt es in HTML bzw. CSS eine Möglichkeit, ein Formular so zu gestalten? Schon mal vielen Dank für Eure Hilfe.

    Die Verwendung der Formularelemente fieldset und legend bietet sich an:

    <form ...>

    <fieldset>
        <legend>Pflichtangaben</legend>
          <input ...><input ...><input ...>
      </fieldset>

    <p>Beschreibung ...</p>

    <fieldset>
        <legend>Freiwillige Angaben</legend>
          <input ...><input ...><input ...>
      </fieldset>

    </form>

    Beide Elemente kann man auch mittels CSS formatieren, siehe: http://www.styleassistant.de/tips/tip50.htm oder bei einem aktuellen Projekt in Aktion: http://www.datenverdrahten.de/svgphp/.

    MfG, Thomas

    1. Danke für die schnelle Hilfe. Ehrlich gesagt schäme ich mich, dass ich da nicht selbst drauf gekommen bin.

      1. Halt, nein. Jetzt steht der Text ja immer noch zwischen <form> und </form>.

        In meinem Beispiel mag das vielleicht de facto nur eine Lapalie sein, aber was ist denn z.B. wenn man einzelne Eingabefelder auf einer Seite mit Text verstreuen will. Da ist bestimmt aus logischer Sicht die Verwendung von Fieldsets alles andere als optimal, denn der Text hat unter Umständen nun wirklich nichts mit dem Formular zu tun, steht dann aber trotzdem im Quellcode im Bereich des Formulars.

        Trotzdem Danke für die Antwort, trotzdem hoffe ich auf andere Vorschläge.

        MfG
        Oliver

        1. Hallo,

          Halt, nein. Jetzt steht der Text ja immer noch zwischen <form> und </form>.

          Da man <form>-Tags nicht verschachteln kann/darf muss man alle zu einem Formular gehoerenden Felder in einen form-Block legen. Dieser kann durchaus nach <body> beginnen und vor </body> enden.

          In meinem Beispiel mag das vielleicht de facto nur eine Lapalie sein, aber was ist denn z.B. wenn man einzelne Eingabefelder auf einer Seite mit Text verstreuen will. Da ist bestimmt aus logischer Sicht die Verwendung von Fieldsets alles andere als optimal, denn der Text hat unter Umständen nun wirklich nichts mit dem Formular zu tun, steht dann aber trotzdem im Quellcode im Bereich des Formulars.

          Fieldsets sorgen doch gerade fuer logische Strukturierung in Formularen. So richtig nachvollziehen kann ich dein Problem aber nicht.

          MfG, Thomas

          1. Hallo

            Halt, nein. Jetzt steht der Text ja immer noch zwischen <form> und </form>.

            In meinem Beispiel mag das vielleicht de facto nur eine Lapalie sein, aber was ist denn z.B. wenn man einzelne Eingabefelder auf einer Seite mit Text verstreuen will. Da ist bestimmt aus logischer Sicht die Verwendung von Fieldsets alles andere als optimal, denn der Text hat unter Umständen nun wirklich nichts mit dem Formular zu tun, steht dann aber trotzdem im Quellcode im Bereich des Formulars.

            Fieldsets sorgen doch gerade fuer logische Strukturierung in Formularen. So richtig nachvollziehen kann ich dein Problem aber nicht.

            Er will im Bereich des Formulars ganz normalen Text haben, weiß aber nicht, ob z.B. ein Textabsatz innerhalb eines Formulars erlaubt ist.

            Das ist aber kein Problem, in der HTML Referenz in Selfhtml steht, das ein <p></p> innerhalb eines <form></form> vorkommen darf.

            Tschüß, Auge

            1. Hallo,

              Er will im Bereich des Formulars ganz normalen Text haben, weiß aber nicht, ob z.B. ein Textabsatz innerhalb eines Formulars erlaubt ist.

              Das ist aber kein Problem, in der HTML Referenz in Selfhtml steht, das ein <p></p> innerhalb eines <form></form> vorkommen darf.

              Deshalb hatte ich ja in meiner ersten Antwort ausdruecklich einen Absatz eingebaut.

              Tschüß, Auge

            2. Hallo Auge,

              Er will im Bereich des Formulars ganz normalen Text haben, weiß aber nicht, ob z.B. ein Textabsatz innerhalb eines Formulars erlaubt ist.

              Das ist aber kein Problem, in der HTML Referenz in Selfhtml steht, das ein <p></p> innerhalb eines <form></form> vorkommen darf.

              Doch, doch, das weiß ich schon. Dann gehört aber der Absatz logisch gesehen zu dem Formular dazu. (Zitat aus SelfHTML: Alles, was zwischen dem einleitenden <form>-Tag und dem abschließenden Tag </form> steht, gehört zum Formular.) In meinem Beispiel steht der Text - wenn ich ein wenig übertreibe - mehr oder weniger zufällig zwischen den einzelnen Eingabefeldern des Formulars. Also dürfen die entsprechenden Absätze und Divisions streng genommen nicht zwischen <form> und </form> stehen, denn sonst würden sie ja eben schon zum Formular gehören.

              Ich denke, dass ich das Problem eventuell über eine absolute Positionierung der Eingabefelder erreichen kann, was aber auch nicht gerade die sauberste Lösung ist.

              Grüße
              Oliver

              1. Hallo,

                Doch, doch, das weiß ich schon. Dann gehört aber der Absatz logisch gesehen zu dem Formular dazu. (Zitat aus SelfHTML: Alles, was zwischen dem einleitenden <form>-Tag und dem abschließenden Tag </form> steht, gehört zum Formular.) In meinem Beispiel steht der Text - wenn ich ein wenig übertreibe - mehr oder weniger zufällig zwischen den einzelnen Eingabefeldern des Formulars. Also dürfen die entsprechenden Absätze und Divisions streng genommen nicht zwischen <form> und </form> stehen, denn sonst würden sie ja eben schon zum Formular gehören.

                Bedenke, daß es unerheblich ist, was Du für Informationen zwischen Deinen Eingabefeldern noch reinschreibst. Allein die Eingabefelder (<input>,<textarea>,<select>) bzw. deren Inhalte werden beim Absenden des Formulrs auch übertragen. Wenn Du also zwischen erstem und zweiten Eingabefeld einen Roman reinschreibst, dann ist das nur für die Darstellung des Formulars relevant, der Server kriegt das nicht zu sehen.
                Alos, wo ist wirklich Dein Problem?

                Grüße
                  Klaus

                1. Bedenke, daß es unerheblich ist, was Du für Informationen zwischen Deinen Eingabefeldern noch reinschreibst. Allein die Eingabefelder (<input>,<textarea>,<select>) bzw. deren Inhalte werden beim Absenden des Formulrs auch übertragen. Wenn Du also zwischen erstem und zweiten Eingabefeld einen Roman reinschreibst, dann ist das nur für die Darstellung des Formulars relevant, der Server kriegt das nicht zu sehen.

                  Mir ist schon klar, dass es weder für die Anzeige noch für die Verarbeitung eine Rolle spielt, was zwischen den Eingabefeldern steht. Aber wenn der Text dazwischen nicht zum Formular gehört, hat er nichts zwischen <form> und </form> zu suchen, denn alles, was zwischen den beiden Tags steht, ist logisch gesehen Teil des Formulars. Ich schreibe ja auch nicht Text, der vor einem Eingabefeld stehen soll, einfach zwischen Label-Tags, außer natürlich wenn es sich dabei um ein echtes Label handelt.

                  Was ich will, ist, das Formular zu unterbrechen, um mit dem Text fortzufahren, und dann das selbe Formular wieder fortsetzen.

                  Grüße
                  Oliver