Viele Formularfelder ohne Chaos anzeigen?
Jogi
- javascript
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
Hallo,
was genau meinst du mit felder ein- und ausblenden?
_____
MfG,
seppl
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
Hallo,
...
hmm, normal mit style="visibility: hidden"
dann müsstest du per javascript eigentlich nur noch den inhalt dieses attributs verändern...
_____
MfG,
seppl
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
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.
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
Alle Jahrfelder am Anfang unsichtbar nur da Jahr ist zu lesen
2004 (Button) Anzeigen
2005 (Button) Anzeigen
..
2024 (Button) AnzeigenDann 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
?????!
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
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
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
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