Formular auf- und zuklappen
Hallo,
ich hoffe, ich bin nicht zu sehr OT. Ich programmiere zwar in PHP, die
Frage könnte sich aber auf Javascript/Ajax/css beziehen.
Ich möchte Formulare, die in einem Fieldset sind auf- und zuklappen. Ich
würde soetwas durch Ein- und Ausblenden von div-Boxen realisieren. Da
ist es aber schwierig, das Fieldset an die gleiche Stelle zu bekommen
(denn das ist ja weg, wenn es in der ausgeblendeten Box ist).
Jetzt habe ich bei Drupal folgende Sache gesehen, die mir gut gefällt:
Beispiel: http://drupal5.cocoate.com/de/Drupal_5_Videotraining_kaufen
(siehe unten, Bitte nicht als Werbung verstehen.)
Ich habe schon mal einen Blick in den Code geworfen, blicke aber nicht
so richtig durch (ganz schön viel Code). Ohne mir den Code erklären
lassen zu wollen, würde mich mal intersessieren, welche Technik
dahintersteht (Ajax)?
Gibt es auch Alternativen (Dieses zeitverzögerte Klappen bräuchte ich
nicht unbedingt.), die nicht so viel Code brauchen?
Und (wahrscheilich dumme Frage), warum beim Mouseover übers Fieldset nur
das # zu sehen ist und keine Javascripfunktion?
Danke für jegliche Tipps, Gruß Lars
Re: Formular auf- und zuklappen
Lars Kampmann schrieb:
> ich hoffe, ich bin nicht zu sehr OT. Ich programmiere zwar in PHP, die
> Frage könnte sich aber auf Javascript/Ajax/css beziehen.
>
> Ich möchte Formulare, die in einem Fieldset sind auf- und zuklappen. Ich
> würde soetwas durch Ein- und Ausblenden von div-Boxen realisieren. Da
> ist es aber schwierig, das Fieldset an die gleiche Stelle zu bekommen
> (denn das ist ja weg, wenn es in der ausgeblendeten Box ist).
>
> Jetzt habe ich bei Drupal folgende Sache gesehen, die mir gut gefällt:
>
> Beispiel: http://drupal5.cocoate.com/de/Drupal_5_Videotraining_kaufen
> (siehe unten, Bitte nicht als Werbung verstehen.)
>
> Ich habe schon mal einen Blick in den Code geworfen, blicke aber nicht
> so richtig durch (ganz schön viel Code). Ohne mir den Code erklären
> lassen zu wollen, würde mich mal intersessieren, welche Technik
> dahintersteht (Ajax)?
Ajax wäre der Fall, wenn es die Daten erst beim Aufklappen vom Server
anfordert. Bei kleineren Datenmengen sollte man diese aber vielleicht
gleich mitliefern und nicht nachladen.
> Gibt es auch Alternativen (Dieses zeitverzögerte Klappen bräuchte ich
> nicht unbedingt.), die nicht so viel Code brauchen?
>
> Und (wahrscheilich dumme Frage), warum beim Mouseover übers Fieldset nur
> das # zu sehen ist und keine Javascripfunktion?
OT, hat nichts mit PHP zu tun, da das reine Clientsache ist. Möglich
über JavaScript (mit/ohne Ajax) oder diverse andere Clientgeschichten.
Daher würde ich mal bei der JavaScript Newsgroup vorbeischauen. :)
--
Mit freundlichen Grüßen,
Christoph Herrmann
http://dragonprojects.de/
Re: Formular auf- und zuklappen
Lars Kampmann schrieb:
> ich hoffe, ich bin nicht zu sehr OT. Ich programmiere zwar in PHP, die
> Frage könnte sich aber auf Javascript/Ajax/css beziehen.
Doch, ist OT. Bitte Follow-Up nach de.comp.lang.javascript beachten.
> Ich möchte Formulare, die in einem Fieldset sind auf- und zuklappen. Ich
> würde soetwas durch Ein- und Ausblenden von div-Boxen realisieren. Da
> ist es aber schwierig, das Fieldset an die gleiche Stelle zu bekommen
> (denn das ist ja weg, wenn es in der ausgeblendeten Box ist).
>
> Jetzt habe ich bei Drupal folgende Sache gesehen, die mir gut gefällt:
>
> Beispiel: http://drupal5.cocoate.com/de/Drupal_5_Videotraining_kaufen
> (siehe unten, Bitte nicht als Werbung verstehen.)
>
> Ich habe schon mal einen Blick in den Code geworfen, blicke aber nicht
> so richtig durch (ganz schön viel Code). Ohne mir den Code erklären
> lassen zu wollen, würde mich mal intersessieren, welche Technik
> dahintersteht (Ajax)?
>
> Gibt es auch Alternativen (Dieses zeitverzögerte Klappen bräuchte ich
> nicht unbedingt.), die nicht so viel Code brauchen?
Vielleicht hilft dir das schon. Du musst eigentlich nur das Stylesheet
noch anpassen.
<html>
<head>
<title>Fieldsets</title>
<script type="text/javascript">
function toggle(fieldset) {
if(fieldset.tagName) {
while(fieldset && fieldset.tagName != 'FIELDSET') {
fieldset = fieldset.parentNode;
}
if(fieldset && fieldset.className) {
if(fieldset.className == 'hidden') {
fieldset.className = '';
} else {
fieldset.className = 'hidden';
}
}
}
}
</script>
<style type="text/css">
fieldset {
border: 1px black solid;
}
fieldset legend {
cursor: pointer;
}
fieldset.hidden {
border: 0;
border-top: 1px black solid;
}
fieldset.hidden div {
display: none;
}
</style>
</head>
<body>
<form action="#">
<fieldset>
<legend onclick="toggle(this)">Titel</legend>
<div>
hier der inhalt
</div>
</fieldset>
</form>
</body>
</html>
> Und (wahrscheilich dumme Frage), warum beim Mouseover übers Fieldset nur
> das # zu sehen ist und keine Javascripfunktion?
text
Re: Formular auf- und zuklappen
Hi,
Wieso das Rad neu erfinden?!
Schau dir mal JQuery auf
http://docs.jquery.com/Tutorials:Live_Examples_of_jQuery
an. Ist meines Erachtens DAS Tool, wenn es um DOM-Manipulationen geht.
cu Martin