stenie: Script funktioniert bei Firefox,nicht beim IE

Ich verzeifle! Folgende Script färbt den Hintergrund des jeweils aktiven Elements in einer Tabellen-Navigation ein. Die zu färbenden Felder sind als 'ModuleMenu' benannt, die Hintergrundfarbe kommt über die Stylesheets (navI-off bzw. navI-on). Aufgerufen wird die Funktion mit 'onclick' mit Übergabe der Nummer des entsprechenden Feldes.

Problem: Das Script läuft tadellos auf Firefox, aber beim IE gibt es den Hinweis "Module[...] ist Null oder kein Objekt" zurück. Wer kann helfen?

==== DAS SCRIPT ====

var Module = document.getElementsByName("ModuleMenu");
var Active = "";

function Menu(ModuleNum){
  if (Active != "" && Active != ModuleNum) {
     Module[Active].className = "navI-off";
  }
  Module[ModuleNum].className = "navI-on";
  Active = ModuleNum;
}

  1. hi,

    Folgende Script färbt den Hintergrund des jeweils aktiven Elements in einer Tabellen-Navigation ein.

    Was ist denn eine Tabellen-Navigation?
    Hast du etwa eine Tabelle zur Auszeichnung missbraucht, wo eigentlich eine Liste angebracht wäre?

    Die zu färbenden Felder sind als 'ModuleMenu' benannt, [...]
    var Module = document.getElementsByName("ModuleMenu");

    Tabellen-Elemente haben kein name-Attribut.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Problem: Das Script läuft tadellos auf Firefox, aber beim IE gibt es den Hinweis "Module[...] ist Null oder kein Objekt" zurück. Wer kann helfen?

    Bist du sicher dass das im FF läuft? Ich bezweifle das.

    ==== DAS SCRIPT ====

    var Module = document.getElementsByName("ModuleMenu");

    lass dir mal den Wert von Module anzeigen.

    function Menu(ModuleNum){
      if (Active != "" && Active != ModuleNum) {

    Warum vergleichst du hier eine Nummer mit einem String?

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Bist du sicher dass das im FF läuft? Ich bezweifle das.

      Du magst es nicht glauben, aber es funktioniert beim FF. Die gewünschte Tabellenzeile ist anschließend farbig.

      var Module = document.getElementsByName("ModuleMenu");

      lass dir mal den Wert von Module anzeigen.

      Alert-Ergebnis ist "[object HTML Collection]" ... was bedeutet das?

      function Menu(ModuleNum){
        if (Active != "" && Active != ModuleNum) {

      Warum vergleichst du hier eine Nummer mit einem String?

      Was muss ich anders machen?

      1. Bist du sicher dass das im FF läuft? Ich bezweifle das.

        Du magst es nicht glauben, aber es funktioniert beim FF. Die gewünschte Tabellenzeile ist anschließend farbig.

        Dann ist das Skript wenigstens an der richtigen Stelle im code. Das glaube ich dir.

        var Module = document.getElementsByName("ModuleMenu");

        lass dir mal den Wert von Module anzeigen.

        Alert-Ergebnis ist "[object HTML Collection]" ... was bedeutet das?

        Das soweit alles in Ordnung ist.

        function Menu(ModuleNum){
          if (Active != "" && Active != ModuleNum) {

        Warum vergleichst du hier eine Nummer mit einem String?

        Was muss ich anders machen?

        Hier mit einer Zahl vergleichen und dem Hinweis von wahsaga folgen.

        Struppi.

        --
        Javascript ist toll (Perl auch!)