Felix: mit DOM Feld ein und ausblenden

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

  1. 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

    --
    | http://www.selflinux.org/                                                  |
    | http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm                      |
    | sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[ |
    | http://emmanuel.dammerer.at/selfcode.html                                  |
    1. 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

      1. 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

        --
        | http://www.selflinux.org/                                                  |
        | http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm                      |
        | sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[ |
        | http://emmanuel.dammerer.at/selfcode.html                                  |
        1. 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

          1. 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

            --
            | http://www.selflinux.org/                                                  |
            | http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm                      |
            | sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[ |
            | http://emmanuel.dammerer.at/selfcode.html                                  |
            1. 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

              1. 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

                --
                | http://www.selflinux.org/                                                  |
                | http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm                      |
                | sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[ |
                | http://emmanuel.dammerer.at/selfcode.html                                  |
                1. Hallo Christian

                  Fehler gefunden:

                  1. 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

  2. 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

    1. 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

      --
      | http://www.selflinux.org/                                                  |
      | http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm                      |
      | sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[ |
      | http://emmanuel.dammerer.at/selfcode.html                                  |
      1. 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