Eurosystem: style.visibility Problem IE

Hallo,

Mit folgendem Code habe ich ein Problem:

<img src="bilder/beispiel.jpg" onclick="kasten1.value='Text'; kasten2.style.visibility='visible'; ">

Wenn man also auf das Bild klickt soll in einem Kasten ein Text stehen und ein anderer, bisher unsichtbarer, soll sichtbar werden.
Im Webbrowser Opera funktioniert dies einwandfrei, im IE 7 wird jedoch nur der Text in 'kasten1' gesetzt, 'kasten2' bleibt unsichtbar...
Kann man den Code umschreiben oder kennt jemand eine Alternative?

Gruß

Eurosystem

--
Warum braucht man 100 Windows Vista Benutzer um eine Glühbirne zu wechseln?
- Einer wechselt die Birne und 99 klicken die Fehlermeldungen weg...
  1. Hallo,

    wie greifst du auf die Elemente zu?

    Wenn du per Id drauf zugreifst, dann benutze auch document.getElementById().

    Viele Grüße Novi

    --
    "(...) deshalb mag ich Binärtechnik. Da gibt es nur drei Zustände: High, Low und Kaputt." (Wau Holland)
    1. Nein, per "name='kasten1'".
      Was mich vor allem wundert ist ja dass die Value-Funktion funktioniert aber die style.visibility nicht...

      Gruß

      Eurosystem

      1. Hi,

        Nein, per "name='kasten1'".

        Das mag irgendwas sein, was in deinem HTML steht.

        Die Frage war, was du in deinem JavaScript-Code gemacht hast, damit ein JavaScript-Objekt mit dem Namen kasten1 bzw. kasten2 existiert.

        Was mich vor allem wundert ist ja dass die Value-Funktion funktioniert aber die style.visibility nicht...

        Das lässt sich aus dem minimalen Codefetzen so kaum erkennen.

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        1. Hallo,
          also der gesamte Code sieht so aus:

           <img src="bilder/beispiel.jpg" width="65" onclick="kasten1.value='Text'; kasten2.style.visibility='visible';">  
            
          <input type="password" name="kasten1" style="visibility:hidden; background-color:black; width:0px; height:0px;" value="" >  
          <div name="kasten2" style="visibility:hidden; color:green; font-size:16px; "><b>Gewählt</b></div>
          

          Gruß

          Eurosystem

          --
          Warum braucht man 100 Windows Vista Benutzer um eine Glühbirne zu wechseln?
          - Einer wechselt die Birne und 99 klicken die Fehlermeldungen weg...
          1. Hi,

            <img src="bilder/beispiel.jpg" width="65" onclick="kasten1.value='Text'; kasten2.style.visibility='visible';">

            <input type="password" name="kasten1" style="visibility:hidden; background-color:black; width:0px; height:0px;" value="" >
            <div name="kasten2" style="visibility:hidden; color:green; font-size:16px; "><b>Gewählt</b></div>

              
            damit bleibt immer noch die Frage von ChrisB unbeantwortet:  
              
            
            > Die Frage war, was du in deinem JavaScript-Code gemacht hast, damit ein JavaScript-Objekt mit dem Namen kasten1 bzw. kasten2 existiert.  
              
            Es könnte natürlich sein, dass du mit dem IE testest. Der hat die böse Angewohnheit, für alle HTML-Elemente mit einem name- oder id-Attribut gleich ein globales gleichnamiges Javascript-Objekt anzulegen. Das ist nicht fein; ordentliche Browser machen das nicht.  
            Dafür ist der IE aber wenigstens so anständig, ein name-Attribut nur bei den Elementen zu beachten, die auch eins haben dürfen. Ein div-Element darf das nicht. Der obige Code würde also in einem IE zu dem von dir beschriebenen Verhalten führen: Das input-Element mit name="kasten1" wäre mit Javascript automatisch ansprechbar, das div-Element mit dem unerlaubten name-Attribut nicht.  
              
            Ciao,  
             Martin  
            
            -- 
            Denken ist wohl die schwerste Arbeit, die es gibt. Deshalb beschäftigen sich auch nur wenige damit.  
              (Henry Ford, amerikanischer Industriepionier)  
            
            
            1. OK, ich wusste nicht das ein div-element keinen Namen haben darf.
              Mit id='kasten2' klappts.

              Vielen Dank!

              Gruß

              Eurosystem

              --
              Warum braucht man 100 Windows Vista Benutzer um eine Glühbirne zu wechseln?
              - Einer wechselt die Birne und 99 klicken die Fehlermeldungen weg...
              1. Hallo,

                OK, ich wusste nicht das ein div-element keinen Namen haben darf.
                Mit id='kasten2' klappts.

                ohne Ergänzungen am Javascript-Code?
                Dann teste mal im Firefox. Der nimmt's nämlich genau und wird dir um die Ohren hauen, dass keine Objekte mit den Namen kasten1 und kasten2 existieren.

                Dass Opera einige Bugs des IE emuliert, war mir bekannt.
                Dass die ungebetene Verschmutzung des globalen Scopes dazugehört, allerdings nicht.

                Ciao,
                 Martin

                --
                Auf jeden Menschen auf der ganzen Welt entfallen statistisch gesehen etwa 3000 Spinnen, wie Wissenschaftler jetzt festgestellt haben.
                Wer will meine haben? Denn ich will sie bstimmt nicht.
                1. Hallo,

                  Opera war ja noch schlimmer, das hat sogar den div-Namen akzeptiert :)
                  Ich kenne mich nicht gut mit javascript aus, wie kann ich denn sagen welche Namen die division haben soll? Muss ich nur die Funktion document.get.elementbyid() hinzufügen?

                  Gruß

                  Eurosystem

                  --
                  Warum braucht man 100 Windows Vista Benutzer um eine Glühbirne zu wechseln?
                  - Einer wechselt die Birne und 99 klicken die Fehlermeldungen weg...
                  1. Hi,

                    Ich kenne mich nicht gut mit javascript aus, wie kann ich denn sagen welche Namen die division haben soll?

                    Gar nicht, weil DIV kein name-Attribut hat.

                    Muss ich nur die Funktion document.get.elementbyid() hinzufügen?

                    Wenn du ein Element, dem du eine ID gegeben hast, ansprechen willst, ist das eine gängige Möglichkeit, ja.

                    MfG ChrisB

                    --
                    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]