Auswahlfeld funktioniert nicht bei IE

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Auswahlfeld funktioniert nicht bei IE

    Hallo,

    habe ein kleines JavaScript mit dem ich verschiedene Dateien anzeigen lassen will.
    Bei Firefox und Opera funktioniert es, nur der IE macht Zicken

    hier der Code

    PHP-Code:
    <?php          // DEFINIEREN DER INHALTE
          
    $divs = Array(); 
    //$divs[] = Array("CONTAINERNAME", "BESCHREIBUNG FÜR SELECTFELD", "DATEI, WELCHES EINGEBUNDEN WERDEN SOLL");
        
    $divs[] = Array("Person1""Bitte auswählen""lehrer/lehrerkol.php");
         
    $divs[] = Array("Person2""Adolf, Andrea""lehrer/adolf.php");
         
    $divs[] = Array("Person3""Alef, Inge""lehrer/alef.php");
         
    $divs[] = Array("Person4""Bach, Gertrud""lehrer/bach.php");

           
    // Welches Element soll ausgewählt sein (!!! Bei 0 anfangen zu zählen !!!)
         
    $selectIndex 0?>
          <!-- START OF SCRIPT -->
      <form name="dynamicselector">
     <table bgcolor="#e0e7f8" border="0" width="580" cellspacing="0" cellpadding="0" height="580">
     <tr><td valign="middle" height="15" align="center"><font face="Verdana">Wählen Sie den gewünschten Name aus der nebenstehenden Liste :</font></td>
     <td width="160" valign="top" align="center">
     <select name="dynamicselector2" size="1" onChange="generateDiv(this.selectedIndex)" style="font-size: 11pt; font-weight: bold; color: #000000; background-color: #e0e7f8 ">
     <?php
              
    // SELECTFELD Elemente
                  
    for($i=0;$i<count($divs);$i++)
             if (!empty(
    $divs[$i][1]))
             {             echo 
    '<option ';
                 if (
    $i==$selectIndex)
                     echo 
    'selected="selected"';
                 echo 
    '>';
                 echo 
    $divs[$i][1];
                 echo 
    '</option>';
             }
     
    ?>
     </select> </td> <tr><td> </td></tr>
      <td bgcolor="#e0e7f8" width="180" valign="top" align="middle"><img src="layout/leer.gif" width="50" height="20">
     <?php
              
    // Container schreiben
              
    for($i=0;$i<count($divs);$i++)     {
             echo 
    '<div id="' $divs[$i][0] . '"';
             if (
    $i!=$selectIndex)
                 echo 
    ' style="display:none"';
             echo 
    '>';
             include(
    $divs[$i][2]);
             echo 
    '</div>';
         }
     
    ?>
     </td> </tr> </table> </form>
      <script lehreruage="JavaScript">
      var divs = new Array 
    <?php
      
    // dem skript die divs mitteilen
         
    for($i=0;$i<count($divs);$i++)
             echo 
    "divs[$i] = '".$divs[$i][0]."'\n"?>
      var ie4=document.all
     var ns6=document.getElementById
     var tempobj=document.dynamicselector.dynamicselector2
      function generateDiv(which){
         for (var i=0; i<divs.length; i++)
             if (ie4)             eval('document.all.'+divs[i]+'.style.display="none"')
             else             eval('document.getElementById("'+divs[i]+'").style.display="none"')
              if (ie4) 
            eval('document.all.'+divs[which]+'.style.display="block"') 
        else 
            eval('document.getElementById("'+divs[which]+'").style.display="block"')
     }
      </script>
     <!-- END OF SCRIPT -->
    weiß jemand was ich falsch mache oder was ich ändern muß das es auch mit dem IE funktioniert

    Gruß
    Bernie42

  • #2
    <script lehreruage="JavaScript">

    Wieso eval'st du da eigentlich rum? Das geht auch ohne eval!

    Kommentar


    • #3
      Hallo onemorenerd,

      <script lehreruage="JavaScript">
      heißt natürlich <script language="JavaScript">

      Wieso eval'st du da eigentlich rum? Das geht auch ohne eval!
      und wie ?

      Gruß
      bernie42

      Kommentar


      • #4
        weil ein
        PHP-Code:
        document.getElementById("'+divs[which]+'").style.display="block"
        völlig ausreicht. und document.all kannst du ja wohl auch vergessen. es sein denn, du willst noch den ie5 unterstützen.

        und korrekt lautet es:
        PHP-Code:
        <script type="text/javascript"
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          PHP-Code:
          document.getElementById(divs[which]).style.display="block"

          Kommentar


          • #6
            Original geschrieben von onemorenerd
            PHP-Code:
            document.getElementById(divs[which]).style.display="block"
            upsi. kleiner copy&paste fehler.

            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Hallo,

              danke für die Tips

              jetzt furzt es

              gruß
              Bernie42

              Kommentar

              Lädt...
              X