struppi: Objekt erwartet, problem noch nicht gelöst....

Beitrag lesen

Als Fehlermeldung kommt immer, wenn ich die Javascript
Funktion aufrufe: "Objekt erwartet"
die Funktion wird an mehreren Stellen bei mouseover aufgerufen,
der Fehler bezieht sich immer auf den Aufruf.

Wie wär's mit Fehlerprüfung?

<script type="text/javascript">
  <!--
  function zeigen(obj)
  {
  var ns4;
  var ie4;
  var ie5;
  var v6;
   ns4 = (document.layers)? true:false
   ie4 = (document.all)? true:false
   ie5= (document.all)?true:false
   v6 = (document.getElementById)? true:false

if (ns4)
     {
     document.layers[obj].visibility = "show";
     }
     else if (v6)
     {
     document.getElementById(obj).style.visibility = "visible";
     }
     else if (ie4)
     {
       document.all[obj].style.visibility = "visible";
     }
     return eval(obj);
  }

function verbergen(obj)
  {
   var ns4;
   var ie4;
   var ie5;
   var v6;
   ns4 = (document.layers)? true:false;
   ie4 = (document.all)? true:false;
   ie5= (document.all)?true:false;
   v6 = (document.getElementById)? true:false;

if (document.layers)
   {
     document.layers[obj].visibility = "hide";
   }
   else if (document.getElementById)
   {
     document.getElementById(obj).style.visibility = "hidden";
   }
   else if (document.all[obj])
   {
     document.all[obj].style.visibility = "hidden";
   }
   return eval(obj);
  }
  //-->
  </script>

diese Prüfungen sind völlig unnötig!
und eval(obj) ruft vermutlich den Fehler hervor wozu soll das dienen?

<script type="text/javascript">
<!--
function verbergen(obj)
{
   var layer = getObj(obj);
   if(!layer) return false;
   if (document.layers) layer.visibility = "hide";
   else layer.style.visibility = "hidden";
   return true;
}
function zeigen(obj)
{
   var layer = getObj(obj);
   if(!layer) return false;
   if (document.layers) layer.visibility = "show";
   else layer.style.visibility = "visible";
   return true;
}
function getObj(obj)
{
   if (document.layers)
         return document.layers[obj];
   else if(document.getElementById)
         return document.getElementById(obj);
   else if(document.all)
         return document.all[obj];
   else
         return null;
}

Das sollte funktionieren.

Struppi.