mit DOM Feld ein und ausblenden
Felix
- dhtml
0 Christian Seiler0 felix0 Christian Seiler0 felix
0 Toddy Franz
hi
ich habe ein problem und hoffe jemand kann mir helfen.
ich habe ein feld in einem form, dass dynamisch eingeblendet werden woll. mit dem einen radio button wird das feld eingeblendet mit dem anderen ausgeblendet:
der code sieht so aus:
...
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0">
<TR>
<TD WIDTH="50%">
<TABLE CELLPADDING="0" CELLSPACING="0">
<TR>
<TD><INPUT TYPE="RADIO" NAME="wgs" VALUE="1"
<?php if ($wgs == "1") {echo "CHECKED="CHECKED"";}?> onClick="document.all.wohngem.style.display='inline';">ja</TD>
<TD> </TD>
<TD><DIV ID="wgem" style="display:none">
<INPUT TYPE="TEXT" NAME="wgemA" MAXLENGTH="2" VALUE="
<?php if (isset($wgemA)) {echo $wgemA;}?>" tyle="width:20px"></DIV>
</TD>
</TR>
</TABLE>
</TD>
<TD><INPUT TYPE="RADIO" NAME="wgs" VALUE="0" <?php if ($wgs != "1") {echo "CHECKED="CHECKED"";}?>
onClick="document.all.wohngem.style.display='none';">nein</TD>
</TR>
</TABLE>
...
das problem ist jetzt folgendes:
im IE funtzt das ohne probleme;
im mozilla passiert NIX :-(
wie kann ich das aendern??
gruss
felix
Hallo felix,
das problem ist jetzt folgendes:
im IE funtzt das ohne probleme;
im mozilla passiert NIX :-(wie kann ich das aendern??
Verwende DOM. document.all ist _kein_ DOM.
http://selfhtml.teamone.de/dhtml/modelle/dom.htm
Dann klappt es auch mit Opera und Mozilla. Und im IE klappt es immer noch.
Viele Grüße,
Christian
Hi Christian
Verwende DOM. document.all ist _kein_ DOM.
http://selfhtml.teamone.de/dhtml/modelle/dom.htm
Dann klappt es auch mit Opera und Mozilla. Und im IE klappt es immer noch.
Ich hab mir die Seite durchgelesen, hab aber irgendwie nichts gefunden, wass sowas macht wie ich benoetige.
kannst du mir nen tipp geben??
ausserdem geht das letzte beispiel mit dem IE 6 nicht ist das normal?
gruss
felix
Hallo felix,
kannst du mir nen tipp geben??
Suche in SELFHTML nach der Methode document.getElementById - damit kannst Du das Objekt document.all ersetzen.
ausserdem geht das letzte beispiel mit dem IE 6 nicht ist das normal?
Leider ja. Der IE versteht Event-Handling anders als es im Standard definiert ist. Allerdings hat das nichts mit Deinem Problem zu tun.
Viele Grüße,
Christian
Hi Christian
Suche in SELFHTML nach der Methode document.getElementById - damit kannst Du das Objekt document.all ersetzen.
ich habe jetzt mal ganz tollkuehn innerhalb der onclick das document.all einfach ersetzt und document.getElementsByName("wgemA
").style.display='none'; reingeschrieben -> resultat IE macht nicht mehr mozilla laesst radiobutton nicht mehr anklicken...
gruss
felix
Hallo Felix,
ich habe jetzt mal ganz tollkuehn innerhalb der onclick das document.all einfach ersetzt und document.getElementsByName("wgemA
").style.display='none'; reingeschrieben -> resultat IE macht nicht mehr mozilla laesst radiobutton nicht mehr anklicken...
Wolltest Du nicht das <div> außen rum ein/ausblenden? Mit <div>s funktioniert so etwas immer, bei anderen Dingen, z.B. Formularelementen, kann es Probleme geben.
Viele Grüße,
Christian
Hi Christian
Wolltest Du nicht das <div> außen rum ein/ausblenden? Mit <div>s funktioniert so etwas immer, bei anderen Dingen, z.B. Formularelementen, kann es Probleme geben.
jeppa
dieses div:
<DIV ID="wgem" style="display:inline">
<INPUT TYPE="TEXT" NAME="wgemA" MAXLENGTH="2" VALUE="
<?php if (isset($wgemA)) {echo $wgemA;}?>" tyle="width:20px"></DIV>
soll ueber ein onclick erergniss ein bzw. wieder ausgeblendet werden.
und wenn ich das so in ... onclick="document.getElementsByID('wgemA').style.display='none';" schreibe - schimpft der IE das objekt unterstuertz diese eigenschaft nicht.
gruss
felix
Hallo Felix,
und wenn ich das so in ... onclick="document.getElementsByID('wgemA').style.display='none';" schreibe - schimpft der IE das objekt unterstuertz diese eigenschaft nicht.
Fehler gefunden:
1. Es heißt
getElementById
^ ^
| |
| - das "d" wird klein geschrieben |
- da kommt kein s hin
2. Dein <div> hat die ID wgem und nicht wgemA
=> onclick="document.getElementById('wgem').style.display='none';"
Viele Grüße,
Christian
Hallo Christian
Fehler gefunden:
- Es heißt
getElementById
^ ^
| |
|- das "d" wird klein geschrieben |
- da kommt kein s hin
TAUSEND DANK :-)))
den fehler mit dem div und dem s hatte ich gefunden, aber das kleine d war _der_ entscheidende tipp.
DANKE
gruss
felix
Hallo Felix,
onClick="document.all.wohngem.style.display='none';">nein</TD>
onclick ist nur für ie. Weiss ich jetzt gar nicht, wie das in anderen Browsern geht. Hast Du schon mal in Selfhtml nachgeschlagen, ob es für onclick Alternativen gibt?
schönen abend noch wünscht der toddy
Hallo Toddy,
onclick ist nur für ie.
Ich bin mir ziemlich sicher, dass Du document.all und nicht onclick meintest. ;-)
Viele Grüße,
Christian
Hallo Christian,
Ich bin mir ziemlich sicher, dass Du document.all und nicht onclick meintest. ;-)
Da sprichst Du wahr. ;-) Hast natürlich recht.
Schönen Abend noch
der toddy