Div-Bereich ein- und ausblenden
Claudia Straile
- javascript
Hallo,
ich möchte in meiner Tabelle mit Hilfe des Div-Tags Zeilen ein- und ausblenden.
Leider funktioniert das weder im IE noch im Netscape. Im Netscape habe ich noch folgenden Effekt: sobald ein Div-Tag vorkommt, sehe ich Textfelder oder meine Comboboxen nicht mehr.
Die Funktionen zum ein- und ausblenden:
function einblenden(e)
{
if (document.layers)
document.layers[e].visibility="show";
else
document.all(e).style.visibility="visible";
}
function ausblenden(e)
{
if (document.layers)
document.layers[e].visibility="hide";
else
document.all(e).style.visibility="hidden";
}
Meine Tabelle sieht folgendermaßen aus:
<form id="form1" name="form1" action="mailto:info@jrk-kv-ludwigsburg.de" method=post enctype="text/plain">
<table width=80% align=center valign=middle border=0>
<tr>
<td align=left valign=middle colspan=2>
<font class=ueberschrift2>Formular zum Anmelden</font>
</td>
</tr>
...
<div id="DivOrtsverein" style="position:absolute">
<tr>
<td align=left valign=middle >
<font class=textarea>
Ortsverein: <font color=red>*</font>
</FONT>
</td>
<td align=left valign=middle >
<font class=textarea>
<input type=text id="Ortsverein" name="Ortsverein">
</FONT>
</td>
</tr>
</div>
...
</table>
Die Funktion z.B. zum Ausblenden rufe ich so auf:
ausblenden("DivOrtsverein");
Wäre echt super, wenn Ihr mir helfen könntet.
Viele Grüße von Claudia
Hallo,
ich möchte in meiner Tabelle mit Hilfe des Div-Tags Zeilen ein- und ausblenden.
die Tabelle soll doch den Seitenaufbau bestimmen ?
Dann wären relativ positionierte div's geeigneter,
oder m.E. noch besser <span>, das kann
für Netscape 4x bei Tabellen besser sein.
Die <span> würde ich nicht mit der Tabelle
verschachteln, also <td><span> texttext </span></td>.
Ansonsten müsstest Du auf die Tabelle verzichten,
und mit der Einbindung in <form> mag es auch nochmal
schwieriger werden.
Grüsse
Cyx23
die Tabelle soll doch den Seitenaufbau bestimmen ?
Dann wären relativ positionierte div's geeigneter,
Ich dachte man darf nur die absolute Positionierung verwenden, wenn es auch im Netscape klappen soll?
Grüße Claudia
Hallo,
Ich dachte man darf nur die absolute Positionierung verwenden, wenn es auch im Netscape klappen soll?
warum, wie kommst Du darauf ?
probier mal {visibility:visible;position:relative;}, dann kannst Du
die visibility auf hidden setzen.
Grüsse
Cyx23
warum, wie kommst Du darauf ?
Habe ich in einem Buch gelesen.
probier mal {visibility:visible;position:relative;}, dann kannst Du
die visibility auf hidden setzen.
Das Problem ist, dass es trotzdem nicht funktioniert.
Könntest Du Dir mal folgende Datei anschauen:
http://jrk-kv-ludwigsburg.de/test/anmeldung.htm
Dort siehst Du warum ich das brauche. Ich übergebe der Datei einen Namen, je nach dem wähle ich den richtigen Eintrag in der COmbobox aus und möchte nun die entsprechenden Zeilen der Tabelle ein oder ausblenden.
Mit relativer Positionierung kann ich die Textfelder nicht so schön untereinander anordnen.
Vielleicht gibt es doch eine Möglichkeit? :-)
Viele Grüße von Claudia
Hallo Claudia,
Habe ich in einem Buch gelesen.
welches Buch wenn ich fragen darf ? würde mich mal interessieren.
Mit dem relativen div funktioniert es in Tabellen wie ich vorher
schon gepostet habe wenn die Tabellenstruktur erhalten bleibt,
also nicht verschachtelt. So klappt es auch für Netscape4 :
<td align=left valign=middle>
<div id="DivOrtsverein" style="position:relative;visibility:hidden">
<font class=textarea> Ortsverein: <font color=red>*</font>
</FONT></div></td>
Nur dein script muss noch ergänzt werden für getElemnetbyId-
Browser N6, Opera; und das document.all().style ist evtl.
nicht ganz richtig.
Für die rechte Seite wäre dann ein zweites div nötig, aber ich
vermute dass es Schwierigkeiten gibt das Formular teilweise
zu verstecken (auch aus Sicherheitsgründen).
Könntest du mal im Archiv recherchieren, hat bestimmt
schonmal jemand versucht.
Du könntest aber z.B. das Feld passend vorbelegen mit bestimmtem
Text oder vielleicht dem Feld ein (muss so nicht funktionieren,
ist nur prinzipiell gemeint) onfocus="self.blur()" verpassen
oder per docuemnt.forms[0].meinfeldzwei.focus() oder so
(ggf. korrigieren) zum nächsten springen usw.
( Falls der Sever "ssi" erlaubt könntest du das vielleicht mit
includedateien zusammensetzen als Alternative)
Grüsse
Cyx23
welches Buch wenn ich fragen darf ? würde mich mal interessieren.
Hattest Recht, es stand nur drin, dass man eine Positionierung machen muß, aber nicht, dass es eine absolute sein muß. Habe mich wahrscheinlich an das Beispiel gehalten.
http://www.teamone.de/selfhtml/tfbe.htm#a7
<td align=left valign=middle>
<div id="DivOrtsverein" style="position:relative;visibility:hidden">
<font class=textarea> Ortsverein: <font color=red>*</font>
</FONT></div></td>
Jetzt weiß ich was ich falsch gemacht habe. Bei mir habe ich den Div- Bereich immer um das <tr> gemacht, dann ging es nicht.
Für die rechte Seite wäre dann ein zweites div nötig, aber ich
vermute dass es Schwierigkeiten gibt das Formular teilweise
zu verstecken (auch aus Sicherheitsgründen).
Könntest du mal im Archiv recherchieren, hat bestimmt
schonmal jemand versucht.
Das ist nicht so entscheidend. Es soll vielmehr nur bestimmte Felder angezeigt werden, damit nur die richtigen ausgefüllt werden.
( Falls der Sever "ssi" erlaubt könntest du das vielleicht mit
includedateien zusammensetzen als Alternative)
Sorry, habe keine Ahnung wie das geht.
Trotzdem vielen Dank.
Viele Grüße von Claudia
Hallo Claudia,
( Falls der Sever "ssi" erlaubt könntest du das vielleicht mit
includedateien zusammensetzen als Alternative)
Sorry, habe keine Ahnung wie das geht.
zu SSI schau doch mal hier: http://httpd.apache.org/docs/howto/ssi.html.html
Viele Gruesse
Kess