Jogi: Viele Formularfelder ohne Chaos anzeigen?

Hallo Leute,

brauche für eine Steuersache ein Formular, wo man Daten für
20 Jahre im voraus eingeben kann.
Jedes Jahr hat allerdings 15 Eingabefelder.
Das macht bei 20 Jahren 300 Felder.

Das sieht auf dem Bildschirm sehr chaotisch aus.
Gibt es einen Trick, mit dem man Felder irgendwie
ein- und ausblenden kann?

Wäre für Tipps dankbar.

Grüße

Jogi

  1. Hallo,

    was genau meinst du mit felder ein- und ausblenden?

    _____
    MfG,
    seppl

    --
    "Der kluge Mensch macht nicht jeden Fehler selbst - Er lässt auch anderen eine Chance" - W.Churchill
    "Die Hand eines Menschen könnte das Universum erfassen, wenn er nur lernte, seine Faust zu öffnen" - Werner Mitsch
    1. Hallo,

      was genau meinst du mit felder ein- und ausblenden?

      Ich meine das so:

      Der Steuerberaten kann Werte für die Jahre 2004 bis 2024 eingeben.
      Wenn der Steuerberater jedoch nur Werte für 2004 angeben will,
      bleiben die restliche Jahre verborgen.

      Erst wenn er z.B. auf die Zahl 2005 klickt, erscheinen
      die dafür geltenden Felder.

      Das soll nur der besseren Übersicht der Seite dienen.

      Grüße

      Jogi

      1. Hallo,

        ...

        hmm, normal mit style="visibility: hidden"
        dann müsstest du per javascript eigentlich nur noch den inhalt dieses attributs verändern...

        _____
        MfG,
        seppl

        --
        "Der kluge Mensch macht nicht jeden Fehler selbst - Er lässt auch anderen eine Chance" - W.Churchill
        "Die Hand eines Menschen könnte das Universum erfassen, wenn er nur lernte, seine Faust zu öffnen" - Werner Mitsch
        1. hmm, normal mit style="visibility: hidden"
          dann müsstest du per javascript eigentlich nur noch den inhalt dieses attributs verändern...

          Naja, das heisst also: Es geht nur mit Layern.

          Wie wärst Du die Sache denn angegengen??
          Alle Felder gleich anzeigen? Oder hättest Du
          irgeneinen Tipp, wie man die Seite übersichtlich
          halten kann...

          Grüße

          Jogi

          1. Hallo,

            müssen denn alle Jahre auf einer Seite sein?
            reicht denn nicht für jedes Jahr eine Seite und
            unten drunter ein wegen der übersicht?

            <<voriges Jahr | nächstes Jahr>>

            gruss

            es geht auch mit display:none, damit kannst du mit js die felder ein oder ausblenden.

            --
            no strict;
            no warnings;
            man google
          2. Hallo Jogi,

            dafür gibt es viele Möglichkeiten. Der beste Weg ist du schließt dich mit ein Grafiker kurz der Erfahrung in Formulargestaltung und Screendesign hat.

            Sowie Du fit in programmieren bist haben diese Menschen gelernt, Formulare klar, verständlich und Übersichtlich zu gestalten.

            Rein technisch fallen mir mehere Ansätze ein, hier mal einer

            Alle Jahrfelder am Anfang unsichtbar nur da Jahr ist zu lesen

            2004 (Button) Anzeigen
            2005 (Button) Anzeigen
            ..
            2024  (Button) Anzeigen

            Dann wenn z.B. 2004 Angeklickt ist schauts so aus.

            2004 (Button) Anzeigen
            Formular
            Formular
            Formular
            2005 (Button) Anzeigen

            Oder ohne JS Du arbeitest mit Ankern, alle 1000 Pixel Vertikal kommt ein Formular.

            Dann könntes Du auch noch Felder automatisch vor ausfüllen, kann ja sein das man für jedes Jahr einen gleichen Wert einsetzen will.

            etc.

            viel Spaß,

            Bernd

            1. Alle Jahrfelder am Anfang unsichtbar nur da Jahr ist zu lesen

              2004 (Button) Anzeigen
              2005 (Button) Anzeigen
              ..
              2024  (Button) Anzeigen

              Dann wenn z.B. 2004 Angeklickt ist schauts so aus.

              2004 (Button) Anzeigen
              Formular
              Formular
              Formular
              2005 (Button) Anzeigen

              Hi Bernd,

              genauso hatte ich mir's gedacht.
              Aber wie geht das mit Javascript?
              PS: Das mit dem automatischen Ausfüllen habe ich schon intigriert.

              Grüße

              Jogi

              1. ?????!
                Na, z.B. so ...

                <div id="2004">2004</div>
                <div id="2004Formular">Formular</div>
                etc.

                Der Div mit dem Formular ist unsichtbar, wird er sichtbar veschieben sich alle Darunter liegenden DIV's.

                Y  von 2005 ist Y von 2004 und höhe von 2004.
                Y  von 2006 ist Y von 2005 und höhe von 2005.

                Wenn Das Formular sichtbar ist zählst Du dessen Höhe und Position noch dazu.

                Scripten mußt Du schon selber ;-)
                Aber es gibt ne recht gute DHTML Library von bratta und SelfHTML
                hatte/hat auch eine Code-Library wo glaube ich auch alles drin ist was Du brauchst.

                Bernd

                1. Hallo Bernd,

                  <div id="2004">2004</div>
                  <div id="2004Formular">Formular</div>

                  das sind keine gültigen IDs - die dürfen nicht mit einer Zahl beginnen.

                  Wenn Das Formular sichtbar ist zählst Du dessen Höhe und Position noch dazu.

                  warum su umständlich? setzt die <div>s doch einfach auf sichtbar und überlass dem Browser das verschieben der Elemente unter dem Eingeblendeten.

                  Grüße aus Nürnberg
                  Tobias

          3. Hallo

            hmm, normal mit style="visibility: hidden"
            dann müsstest du per javascript eigentlich nur noch den inhalt dieses attributs verändern...

            Naja, das heisst also: Es geht nur mit Layern.

            Es gibt doch auch <input name="meineEingabe" type="hidden">
            Dessen type-Attribut kann man vielleicht auch dynamisch auf type="text" ändern, vielleicht geht das mit

            document.meinFormlar.meineEingabe.setAttribute("type", "text", "false");

            oder einfach

            document.meinFormlar.meineEingabe.type="text";

            [http://de.selfhtml.org/html/formulare/versteckte.htm#definieren]

            Ich habe das noch nie ausprobiert, aber versuch es doch mal und berichte!

            Gruß Gernot

            1. Hallo nochmal,

              Es gibt doch auch <input name="meineEingabe" type="hidden">
              Dessen type-Attribut kann man vielleicht auch dynamisch auf type="text" ändern, vielleicht geht das mit

              document.meinFormlar.meineEingabe.setAttribute("type", "text", "false");

              oder einfach

              document.meinFormlar.meineEingabe.type="text";

              Hab es gerade ausprobiert, das geht wohl nicht: Fehlermeldung "Eigenschaft nicht gefunden"

              Komischerweise kann man sich die Eigenschaft aber mit

              alert(document.meinFormular.meineEingabe.type);

              auslesen zumindest im MSIE lassen, - komisch!

              Gruß Gernot