Ralf Jahr: Firefox vs. IE - Oder: Wie debuggen im IE?

Hallo,

zur Zeit darf ich ein paar Javascript-Funktionen einbauen. Gewünsch ist, dass einige Tabellenzellen unsichtbar oder nur noch sehr klein dargestellt werden sollen. Dazu habe ich mir eine Funktion definiert und auf folgender Seite verwendet:

http://www.jr-data.de/debug.htm

Ich habe die Seite auf das Wesentliche reduziert.

Mein Problem ist nun, dass zwar im Firefox alles funktioniert, ohne Fehler. Jedoch gibt es im IE keinerlei Funktion; ein Klick auf den Link oben in der Mitte hat keinerlei Auswirkungen.

Weiß jemand, woran das liegen könnte oder alternativ, wie ich das Problem umgehen kann?

Vielen Dank!

Ralf

  1. Tja, da will der IE mal wieder nicht so recht, er hat halt so seine Probleme.

    Folgende Variante funktioniert:

    function showElements(name)
    {
        var elements = document.getElementsByTagName('p');
       for (var i=0;i<elements.length;i++)
       {
        if (elements[i].className == name)
          {
              if(elements[i].style.display == "none")
                  elements[i].style.display = "block";
              else
                  elements[i].style.display = "none";
          }
       }
    }

    Das geht jetzt übrigens ebenfalls in Opera (vorher nicht). ;-)

    ciao,
    hofi

  2. auf folgender Seite verwendet:
    http://www.jr-data.de/debug.htm

    Ralf,
    Das war zwar oben drüber schon mal verlinkt, aber dort schaut man nicht unbedingt hin. Besser im Text auch verlinken. (So geht’s.)

    Weiß jemand, woran das liegen könnte

    Du hast die Erklärung zu http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name@title=getElementsByName() bis zu dem gelesen, was unter „Beachten Sie:“ steht? Und bist auch dem Link http://de.selfhtml.org/javascript/objekte/htmlelemente.htm@title=HTML-Elementobjekte gefolgt und hast dort das unter „Zugriff über das name-Attribut (getElementsByName):“ Gesagte gelesen?

    Live long and prosper,
    Gunnar

    PS: <a href="javascript:showElements('blockedRoom')">

    Ist "javascript" ein Protokoll? Ist "javascript:showElements('blockedRoom')" ein gültiger URL?

    Rufe die Funktion über Eventhandler (onclick) auf.

    Besser wäre es auch, das nicht als Link, sondern als Button zu gestalten; daran sind Nutzer gewöhnt:

    • Buttons führen eine Aktion aus (auf der Seite)
    • Links führen zu einer anderen Webseite.
    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    1. Hi,

      Besser wäre es auch, das nicht als Link, sondern als Button zu gestalten; daran sind Nutzer gewöhnt:

      • Buttons führen eine Aktion aus (auf der Seite)

      Ah, wenn ich jetzt nach dem Schreiben dieses Texts auf den Button "Nachricht absenden" klicke, wird eine Aktion auf dieser Seite ausgeführt?!?
      Und ich dachte, das führt mich zu einer anderen Webseite (nämlich zu der mit dem geposteten Text bzw. der Fehlerseite)

      • Links führen zu einer anderen Webseite.

      <a href="#top">zum Seitenanfang</a>

      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. Hi MudGuard,

        • Buttons führen eine Aktion aus (auf der Seite)

        Ah, wenn ich jetzt nach dem Schreiben dieses Texts auf den Button "Nachricht absenden" klicke, wird eine Aktion auf dieser Seite ausgeführt?!?

        Deshalb waren die Klammern. Mitunter sagen ein paar Worte mehr als Klammern … ;-)

        Und eine Rückmeldung für den Nutzer, dass die Aktion ausgeführt wurde, kann natürlich auch nie schaden.

        • Links führen zu einer anderen Webseite.

        <a href="#top">zum Seitenanfang</a>

        Ich gehe meist sparsam mit dem Wort „meist“ um. Meist zu sparsam.

        Live long and prosper,
        Gunnar

        --
        „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
  3. Mein Problem ist nun, dass zwar im Firefox alles funktioniert, ohne Fehler. Jedoch gibt es im IE keinerlei Funktion; ein Klick auf den Link oben in der Mitte hat keinerlei Auswirkungen.

    Das Problem ist, das Element <p> hat kein Name attribut, wie du sicher auch schon festgestellt hast, als du die Seite validiert hast http://validator.w3.org/check?verbose=1&uri=http%3A//www.jr-data.de/debug.htm

    und der IE nimmt's hier genauer als FF.

    Weiß jemand, woran das liegen könnte oder alternativ, wie ich das Problem umgehen kann?

    Entweder mit IDs arbeiten oder eben mit TagName.

    Struppi.

  4. Hallo!

    Ich dedanke mich herlziche für alle Antworten, die ich bekommen habe. Es stimmt, ich hätte genauer lesen sollen, was ich verwende. Nichtsdestotrotz werde ich JavaScript wohl nie so wirklich toll finden - eben weil Code nicht entweder richtig oder falsch ist.

    Nun habe ich mir eine CSS-Klasse konstruiert und die allen auszublendenden Elementen zugewiesen. Das klappt ganz gut, ich kann ohne Probleme alle Elemente finden, die diese Klasse implementieren.

    Nochmals herzlichen Dank und ein frohes Fest,

    Ralf