Milchmannverleih: von visibility:hiddden nach visibility:visible

Hallo,
Ich hab mir ein script gebaut das bei mouseover ein div von visibility:hidden zu visibility:visible macht, was leider nicht funktioniert wie gewollt. Es soll bei mouseover auf ein navigationselement ein div sichtbar machen der weitere auswahlmöglichkeit bieten soll(kennt ihr sicherlich):
[code lang:javascript]
<script type="text/javascript"><!--
        function sichtbar(x){
        document.getElementsByName(x)[0].style.visibility="visible";};
//--></script>
[/code]

der rest:

[code lang:html]
<div id="visible" onMouseOver="sichtbar('slide')">
<a class="visible">
Hallo
</a>
</div>
<div name="slide" style="visibility:hidden">Hallo</div>
[/code]

Gruß Phillip

  1. S*****e!
    jaja ich weiß die Vorschau...
    also nochmal:

      
    <script type="text/javascript"><!--  
            function sichtbar(x){  
                     document.getElementsByName(x)[0].style.visibility="visible";};  
    //--></script>  
    
    
      
    <div id="visible" onMouseOver="sichtbar('slide')">  
    <a class="visible">  
    Hallo  
    </a>  
    </div>  
    <div name="slide" style="visibility:hidden">Hallo</div>  
    
    
    1. Kann mir denn keiner sagen was ich falsch mache???

      1. Tach,

        Kann mir denn keiner sagen was ich falsch mache???

        nichts. Der Internet Explorer kommt aber durcheinander wenn verschiedene Dinge den selben Namen bekommen, z.B. wenn eine id und ein name auftauchen, die gleich lauten, dann weiß er nicht mehr, was er tun soll und hört auf irgendetwas sinnvolles zu tun.

        mfg
        Woodfighter

        1. puts "Hallo " + gets.chomp + "."

          ?> Jens
          => Hallo Jens.

          [...] z.B. wenn eine id und ein name auftauchen, die gleich lauten, dann weiß er nicht mehr, was er tun soll und hört auf irgendetwas sinnvolles zu tun.

          Nanu? Was genau meinst du damit?
          Wohl kaum so etwas wie <a name="Foo" id="Foo">Foo</a> oder?

          Einen schönen Freitag noch.

          Gruß, Ashura

          --
          Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
          30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
          Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
          [Deshalb frei! - Argumente pro freie Software]
          1. Tach,

            Nanu? Was genau meinst du damit?
            Wohl kaum so etwas wie <a name="Foo" id="Foo">Foo</a> oder?

            nein sowas:

            <input name="Foo" type="text">
            <input id="Foo" type="text">

            Die kann er nicht mehr ansprechen (wobei so ein Konstrukt auch nicht wirklich sinnvoll ist). Deshalb dachte ich, der Javascript-Fehler, den Milchmannverleihs Seite bei mir im IE wirft, kommt von class=visible und id=visible in unterschiedlichen Elementen. Da ich heute scheinbar insgesamt verwirrt bin, schrieb ich name, und testete nicht bevor ich schrieb. Daran liegt es nämlich nicht, wenn ich das a-Element entferne funktioniert es im IE bei mir trotzdem nicht.

            mfg
            Woodfighter

            1. puts "Hallo " + gets.chomp + "."

              ?> Jens
              => Hallo Jens.

              Nanu? Was genau meinst du damit?
              Wohl kaum so etwas wie <a name="Foo" id="Foo">Foo</a> oder?

              nein sowas:

              <input name="Foo" type="text">
              <input id="Foo" type="text">

              Achso, alles klar.

              Da ich heute scheinbar insgesamt verwirrt bin, schrieb ich name, und testete nicht bevor ich schrieb. Daran liegt es nämlich nicht, wenn ich das a-Element entferne funktioniert es im IE bei mir trotzdem nicht.

              Kopf hoch, das wird schon wieder. ;-)

              Einen schönen Freitag noch.

              Gruß, Ashura

              --
              Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
              30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
              Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
              [Deshalb frei! - Argumente pro freie Software]
            2. Hi,

              Die kann er nicht mehr ansprechen (wobei so ein Konstrukt auch nicht wirklich sinnvoll ist).

              Es ist ggf. sogar falsch, da in Zukunft das name hier durch das id ersetzt werden soll.

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          2. Danke dir!
            Gruß, Phillip!

        2. Hi,

          nichts.

          Falsch.

          Der Internet Explorer kommt aber durcheinander wenn verschiedene Dinge den selben Namen bekommen, z.B. wenn eine id und ein name auftauchen, die gleich lauten, dann weiß er nicht mehr, was er tun soll und hört auf irgendetwas sinnvolles zu tun.

          Falsch - jedenfalls bei Zugriff via DOM-Level-2. Und das proprietäre IE-DOM gehört ja wohl der Geschichte an, nicht wahr?!

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          1. hi,

            Und das proprietäre IE-DOM gehört ja wohl der Geschichte an, nicht wahr?!

            du meinst wohl eher, es hat geschichte geschrieben - wo doch sachen wie innerHTML inzwischen sogar im gecko interpretiert werden ;-)

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hi,

              du meinst wohl eher, es hat geschichte geschrieben - wo doch sachen wie innerHTML inzwischen sogar im gecko interpretiert werden ;-)

              Man wäre ja auch dumm, gute Sachen nicht zu klau^h^h^h^h adaptieren! ;-)

              Aber nur gut, daß Du stattdesen nicht angemerkt hast, daß Mozilla mittlerweile sogar document.all versteht ... =;-)

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          2. Tach,

            Falsch - jedenfalls bei Zugriff via DOM-Level-2. Und das proprietäre IE-DOM gehört ja wohl der Geschichte an, nicht wahr?!

            doch genau den Fall hatte ich im Laufe der Woche, bei Zugriff per getElementById:

              
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
              
            <html xmlns="http://www.w3.org/1999/xhtml">  
              
              <head>  
                <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />  
                <title>Kontingent- und Preispflege</title>  
              </head>  
              
              <body lang="de">  
                <form action="controller" method="post">  
                  <dl>  
                    <dd>  
                      <select name="vonMonat">  
                        <option value="01">Januar</option>  
                        <option value="02">Februar</option>  
                        <option value="03">März</option>  
                        <option value="04">April</option>  
                        <option value="05" selected="selected">Mai</option>  
                        <option value="06">Juni</option>  
                        <option value="07">Juli</option>  
                        <option value="08">August</option>  
                        <option value="09">September</option>  
                        <option value="10">Oktober</option>  
                        <option value="11">November</option>  
                        <option value="12">Dezember</option>  
                      </select>  
                    </dd>  
                    <dd>  
                      <select name="vonJahr">  
                        <option value="2005">2005</option>  
                        <option value="2006" selected="selected">2006</option>  
                        <option value="2007">2007</option>  
                        <option value="2008">2008</option>  
                        <option value="2009">2009</option>  
                      </select>  
                    </dd>  
                  </dl>  
                </form>  
              
                <form action="error" method="post" onsubmit="return false">  
                  <dl>  
                    <dd>  
                      <select id="vonMonat">  
                        <option value="6" selected="selected">Juli</option>  
                        <option value="7">August</option>  
                        <option value="8">September</option>  
                      </select>  
                    </dd>  
                    <dd>  
                      <select id="vonJahr">  
                        <option value="2005" selected="selected">2005</option>  
                      </select>  
                    </dd>  
                    <dd>  
                      <button type="button" onclick="alert(document.getElementById('vonMonat').value)">Klick mich</button>  
                    </dd>  
                  </dl>  
                </form>  
              </body>  
            </html>  
            
            

            Das ganze ist der Ausschnitt aus einer größeren Seite, wobei das untere Formular per Javascript erzeugt und ausgewertet wird (deshalb kein name-Attribut), da der obere Teil erst nach der Planung hineinkam, hatte ich kurzfristig diese unsinnige Namensgleichheit.

            mfg
            Woodfighter

            1. Hi,

              doch genau den Fall hatte ich im Laufe der Woche, bei Zugriff per getElementById:

              Nein, hattest du nicht. Denn das Dokument ist XHTML strict. Und hier gilt meine andere Aussage:

              Es ist ggf. sogar falsch, da in Zukunft das name hier durch das id ersetzt werden soll.

              XHTML verhält sich hier nunmal gewollt und bewußt anders als HTML. Inwieweit das sinnvoll ist, sei natürlich mal dahingestellt. :-O=

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
              1. Tach,

                Nein, hattest du nicht. Denn das Dokument ist XHTML strict. Und hier gilt meine andere Aussage:

                der selbe Fehler tritt auch bei den HTML-Doctypes auf.

                XHTML verhält sich hier nunmal gewollt und bewußt anders als HTML. Inwieweit das sinnvoll ist, sei natürlich mal dahingestellt. :-O=

                Der IE verhält sich in bisher allen Fällen falsch, wenn ich nichts falsch verstehe (aber ich denke nicht, dass getElementById name Attribute ansprechen sollte).

                mfg
                Woodfighter

                1. Hi,

                  Der IE verhält sich in bisher allen Fällen falsch, wenn ich nichts falsch verstehe (aber ich denke nicht, dass getElementById name Attribute ansprechen sollte).

                  Hmm, stimmt leider. =:-o

                  Um dein Beispiel auf dem IE korrekt abarbeiten zu können, muß man die Elemente mittels JavaScript-DOM ansprechen.

                  Gruß, Cybaer

                  --
                  Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
        3. Hi,

          Kann mir denn keiner sagen was ich falsch mache???
          nichts. Der Internet Explorer kommt aber durcheinander wenn verschiedene Dinge den selben Namen bekommen, z.B. wenn eine id und ein name auftauchen, die gleich lauten,

          1. Wenn ich mich richtig erinnere, steht irgendwo im HTML-Standard, daß die Werte des name-Attributes im selben namespace liegen wie die Werte der id-Attribute (find es aber grade nicht mehr).

          2. Daß id-Werte nur einmal pro Dokument verwendet werden dürfen, steht ja wohl fest.

          Aus beidem zusammen ergibt sich dann m.E., daß ein Dokument, das denselben Wert für ein id-Attribut eines Elements und für ein name-Attribut eines anderen Elementes hat, nicht korrekt ist.

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          Schreinerei Waechter
          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          1. puts "Hallo " + gets.chomp + "."

            ?> MudGuard
            => Hallo MudGuard.

            1. Wenn ich mich richtig erinnere, steht irgendwo im HTML-Standard, daß die Werte des name-Attributes im selben namespace liegen wie die Werte der id-Attribute (find es aber grade nicht mehr).

            Zwar nicht aus einem W3C-Doc, aber dennoch:

            „Notieren Sie in dem a-Element für den Anker beide Attribute id und name. Weisen Sie beiden Attributen exakt den gleichen Namen zu. Das gibt keine Probleme, da beide Attribute unterschiedliche "Namensräume" haben.“

            -> SELFHTML: Unterschiede zwischen XHTML und HTML

            Aus beidem zusammen ergibt sich dann m.E., daß ein Dokument, das denselben Wert für ein id-Attribut eines Elements und für ein name-Attribut eines anderen Elementes hat, nicht korrekt ist.

            Warum nicht? Das Attribut name darf beliebig oft vorkommen, warum sollte es also nicht mit einem gleichnamigen id-Attribut übeinstimmen dürfen?

            Einen schönen Montag noch.

            Gruß, Ashura

            --
            Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
            30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
            Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
            [Deshalb frei! - Argumente pro freie Software]
            1. puts "Hallo " + gets.chomp + "."

              ?>
              => Hallo.

              1. Wenn ich mich richtig erinnere, steht irgendwo im HTML-Standard, daß die Werte des name-Attributes im selben namespace liegen wie die Werte der id-Attribute (find es aber grade nicht mehr).

              Ich sehe gerade, dass du dich vielmehr auf die Werte denn auf die Attribute bezogen hast.

              Dazu ist mir jedoch nichts bekannt.

              Einen schönen Montag noch.

              Gruß, Ashura

              --
              Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
              30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
              Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
              [Deshalb frei! - Argumente pro freie Software]
            2. Hi,

              Zwar nicht aus einem W3C-Doc, aber dennoch:

              Das ist wohl die Stelle, an die ich mich erinnere.

              http://www.w3.org/TR/html401/struct/links.html#adef-name-A:
              This attribute names the current anchor so that it may be the destination of another link. The value of this attribute must be a unique anchor name. The scope of this name is the current document. Note that this attribute shares the same name space as the id attribute.
              *)

              „Notieren Sie in dem a-Element für den Anker beide Attribute id und name. Weisen Sie beiden Attributen exakt den gleichen Namen zu. Das gibt keine Probleme, da beide Attribute unterschiedliche "Namensräume" haben.“

              Für HTML gilt das definitiv nicht, siehe oben.

              -> SELFHTML: Unterschiede zwischen XHTML und HTML

              In http://www.w3.org/TR/xhtml1/ finde ich keine Stelle, die das ändert.
              Auch nicht unter Berücksichtigung von http://www.w3.org/2002/08/REC-xhtml1-20020801-errata/

              Aus beidem zusammen ergibt sich dann m.E., daß ein Dokument, das denselben Wert für ein id-Attribut eines Elements und für ein name-Attribut eines anderen Elementes hat, nicht korrekt ist.

              Warum nicht? Das Attribut name darf beliebig oft vorkommen, warum sollte es also nicht mit einem gleichnamigen id-Attribut übeinstimmen dürfen?

              Das ist unlogisch.
              Damit könnte ich ja argumentieren:

              Mein erstes id-Attriubut hat denselben Wert wie mein erstes name-Attribut. Das ist erlaubt.
              Mein zweites id-Attribut hat denselben Wert wie mein zweites name-Attribut. Das ist erlaubt.
              Mein erstes name-Attribut hat denselben Wert wie mein zweites name-Attribut. Das ist erlaubt.

              Also ist auch erlaubt, daß mein erstes id-Attribut denselben Wert hat wie mein zweites id-Attribut.

              cu,
              Andreas

              *) bei den anderen Name-Attributen steht leider nichts zum Thema namespace dabei, auch nicht in den Errata http://www.w3.org/MarkUp/html4-updates/errata.

              --
              Warum nennt sich Andreas hier MudGuard?
              Schreinerei Waechter
              Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
              1. puts "Hallo " + gets.chomp + "."

                ?> MudGuard
                => Hallo MudGuard.

                Warum nicht? Das Attribut name darf beliebig oft vorkommen, warum sollte es also nicht mit einem gleichnamigen id-Attribut übeinstimmen dürfen?

                Das ist unlogisch.
                Damit könnte ich ja argumentieren:
                [...]

                Wie gesagt, ich habe mich ein wenig mit id und name verhaspelt.

                Einen schönen Montag noch.

                Gruß, Ashura

                --
                Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
                30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
                Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
                [Deshalb frei! - Argumente pro freie Software]
              2. Tach,

                http://www.w3.org/TR/html401/struct/links.html#adef-name-A:
                This attribute names the current anchor so that it may be the destination of another link. The value of this attribute must be a unique anchor name. The scope of this name is the current document. Note that this attribute shares the same name space as the id attribute.
                *)

                fürs a-Element ist das Problem also gelöst, leider steht beim input-Element:
                "name = cdata [CI]
                    This attribute assigns the control name."

                Und der control-name gilt nur formularweit:
                "A control's "control name" is given by its name attribute. The scope of the name attribute for a control within a FORM element is the FORM element."

                Beim name-Attribut für Formular Elemente kann der oben zitierte Text aber nicht gelten, da hier name ja eben nicht einzigartig sein muß.

                *) bei den anderen Name-Attributen steht leider nichts zum Thema namespace dabei, auch nicht in den Errata http://www.w3.org/MarkUp/html4-updates/errata.

                Das ist insgesamt eher unbefriedigend, aber auch ein gemeinsamer Namensraum darf meiner Meinung nach nicht dazu führen, dass ich nur mit name ausgezeichnete Elemente per id auswählen kann, damit wäre die Einzigartigkeit der id verloren. Es existiert also sowohl eine (kleine, da die Situation ja doch etwas schizophren ist) Lücke im Standard, als auch ein Fehler im Internet Explorer.

                mfg
                Woodfighter

                1. Hi,

                  Und der control-name gilt nur formularweit:
                  "A control's "control name" is given by its name attribute. The scope of the name attribute for a control within a FORM element is the FORM element."

                  Ja, aber mit dem JavaScript-DOM funktioniert dein Beispiel ja auch! Das Problem existiert dort "nur", wenn Du *innerhalb* einer FORM ID und NAME nebeneiander bei versch. Elementen benutzt. :)

                  Das ist insgesamt eher unbefriedigend, aber auch ein gemeinsamer Namensraum darf meiner Meinung nach nicht dazu führen, dass ich nur mit name ausgezeichnete Elemente per id auswählen kann, damit wäre die Einzigartigkeit der id verloren.

                  Dem würde ich zustimmen wollen. :-)

                  Gruß, Cybaer

                  --
                  Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                  1. Tach,

                    Ja, aber mit dem JavaScript-DOM funktioniert dein Beispiel ja auch! Das Problem existiert dort "nur", wenn Du *innerhalb* einer FORM ID und NAME nebeneiander bei versch. Elementen benutzt. :)

                    reden wir über unterschiedliche Dinge? In meinem Beispiel habe ich 2 Formulare, greife über die DOM-Methode getElementById zu (nicht über MS-Syntax document.all) und der Internet Explorer wählt das erste Vorkommen (vertauscht man die Formulare, findet er das Richtige) in name, nicht das in id.

                    mfg
                    Woodfighter

                    1. Hi,

                      reden wir über unterschiedliche Dinge?

                      Nein. =;-)

                      In meinem Beispiel habe ich 2 Formulare, greife über die DOM-Methode getElementById zu (nicht über MS-Syntax document.all)

                      Also über W3C-DOM (nicht über IE-DOM).

                      und der Internet Explorer wählt das erste Vorkommen (vertauscht man die Formulare, findet er das Richtige) in name, nicht das in id.

                      Gehst du übers JavaScript-DOM (forms & elements), dann funktioniert dein Beispiel trotzdem. Die Aussage "The scope of the name attribute for a control within a FORM element is the FORM element." wird also vom IE durchaus auch beachtet. 'A control's "control name" is given by its name attribute.' ist hingegen veraltet. Mittlerweile gilt auch die ID als "control name", weswegen sich gleichlautende ID und NAMEs *innerhalb* *einer* FORM für unterschiedliche Elemente ausschließen.

                      Geändertes Beispiel:

                        
                      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
                        
                      <html xmlns="http://www.w3.org/1999/xhtml">  
                        <head>  
                          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />  
                          <title>Kontingent- und Preispflege</title>  
                        </head>  
                        
                        <body lang="de">  
                          <form name="nameForm" action="controller" method="post">  
                            <dl>  
                              <dd>  
                                <select name="vonMonat">  
                                  <option value="01">Januar</option>  
                                  <option value="02">Februar</option>  
                                  <option value="03">März</option>  
                                  <option value="04">April</option>  
                                  <option value="05" selected="selected">Mai</option>  
                                  <option value="06">Juni</option>  
                                  <option value="07">Juli</option>  
                                  <option value="08">August</option>  
                                  <option value="09">September</option>  
                                  <option value="10">Oktober</option>  
                                  <option value="11">November</option>  
                                  <option value="12">Dezember</option>  
                                </select>  
                              </dd>  
                              <dd>  
                                <select name="vonJahr">  
                                  <option value="2005">2005</option>  
                                  <option value="2006" selected="selected">2006</option>  
                                  <option value="2007">2007</option>  
                                  <option value="2008">2008</option>  
                                  <option value="2009">2009</option>  
                                </select>  
                              </dd>  
                            </dl>  
                          </form>  
                        
                          <form name="idForm" action="error" method="post" onsubmit="return false">  
                            <dl>  
                              <dd>  
                                <select id="vonMonat">  
                                  <option value="6" selected="selected">Juli</option>  
                                  <option value="7">August</option>  
                                  <option value="8">September</option>  
                                </select>  
                              </dd>  
                              <dd>  
                                <select id="vonJahr">  
                                  <option value="2005" selected="selected">2005</option>  
                                </select>  
                              </dd>  
                              <dd>  
                                <br>DOM Level 2 (IE-):<br>  
                                <button type="button" onclick="alert(document.getElementsByName('vonMonat')[0].value)">Monat NAME</button>  
                                <button type="button" onclick="alert(document.getElementById('vonMonat').value)">Monat ID</button>  
                                <br>DOM Level 0 (IE+):<br>  
                                <button type="button" onclick="alert(document.forms['nameForm'].elements['vonMonat'].value)">Monat NAME</button>  
                                <button type="button" onclick="alert(document.forms['idForm'].elements['vonMonat'].value)">Monat ID</button>  
                                <br>DOM Level 2+ (IE--):<br>  
                                <button type="button" onclick="alert(document.getElementsByName('nameForm')[0].getElementsByName('vonMonat')[0].value)">Monat NAME</button>  
                                <button type="button" onclick="alert(document.getElementsByName('idForm')[0].getElementById('vonMonat').value)">Monat ID</button>  
                                <br>DOM Level mixed 2/0 (IE+):<br>  
                                <button type="button" onclick="alert(document.getElementsByName('nameForm')[0].vonMonat.value)">Monat NAME</button>  
                                <button type="button" onclick="alert(document.getElementsByName('idForm')[0].vonMonat.value)">Monat ID</button>  
                              </dd>  
                            </dl>  
                          </form>  
                        </body>  
                      </html>  
                      
                      

                      Der "eingrenzende DOM-Level-2-Zugriff", also getElementsByName("id")[0].getElementById("vonMonat"), funktioniert hingegen, anders als sein DOM-Level-0-Pendant, überhaupt nicht. Die Mischform (Zugriff auf FORM mittels W3C-DOM und anschließender Zugriff auf die FORM-Elemente mittels JavaScript-DOM) funktioniert hingegen wieder einwandfrei.

                      Gruß, Cybaer

                      --
                      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                      1. Tach,

                        Also über W3C-DOM (nicht über IE-DOM).

                        jetzt habe ich es auch.

                        Mittlerweile gilt auch die ID als "control name", weswegen sich gleichlautende ID und NAMEs *innerhalb* *einer* FORM für unterschiedliche Elemente ausschließen.

                        Das gilt aber nur für XHTML, in HTML ist diese Änderung nicht eingeflossen. Und auch in der [http://www.w3.org/TR/xhtml1/#h-4.10@title=XHTML 1.0-Definition] ist nur von eine Änderung des name Attributs in "a, applet, form, frame, iframe, img, map" in ihrer Nutzung als Anker die Rede, über die control-names wird nicht gespochen.

                        mfg
                        Woodfighter

                        P.S. Warum sehe ich eigentlich in meinen geposteten Beispielen keine Wirkung des code-Blocks?

                        1. Hi,

                          P.S. Warum sehe ich eigentlich in meinen geposteten Beispielen keine Wirkung des code-Blocks?

                          Weil Du lang="html" statt lang=html schreibst.
                          (gibt eigentlich eine Warnung von wegen nichtdefinierter Sprache)

                          cu,
                          Andreas

                          --
                          Warum nennt sich Andreas hier MudGuard?
                          Schreinerei Waechter
                          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                          1. Tach,

                            Weil Du lang="html" statt lang=html schreibst.

                            ohne diff bin ich noch blinder als so.

                            (gibt eigentlich eine Warnung von wegen nichtdefinierter Sprache)

                            Die gab es natürlich, aber nicht oft genug, nach meiner Änderung von lang="hmtl" in lang="html" hat er sich nicht mehr beschwert.

                            mfg
                            Woodfighter

      2. Hi,

        probiere es so

        <html><head><title>Test</title>
        </head><body>
        <script type="text/javascript"><!--
                function sichtbar(x){
                         document.getElementById(x).style.visibility="visible";};
        //--></script>

        <div id="visible" onMouseOver="sichtbar('slide')">
        <a class="visible">
        Hallo
        </a>
        </div>
        <div id="slide" style="visibility:hidden">Hallo</div>

        </html>

        Bei mir (ie 6) klappt

        Gruss

        Maulwurf

    2. Hi,

      <div name="slide" style="visibility:hidden">Hallo</div>

        
      div hat kein name-Attribut.  
        
      cu,  
      Andreas
      
      -- 
      [Warum nennt sich Andreas hier MudGuard?](http://www.Mud-Guard.de/)  
      [Schreinerei Waechter](http://www.schreinerei-waechter.de/)  
        
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.