Hello,
I have a javascript code (a part of it is in php) that populates a pull-down menu. It works perfectly well with Explorer, Netscape and Firefox under Windows. But impossible to make it work with Explorer or Safari under Mac!!!
Is javascript different between windows and mac?
Here's the code, if anyone has the slightest idea or suggestion.

Thanks a lot in advance!

Gaston.

<SCRIPT type="text/javascript">

function MultiDimensionalArray(iRows,iCols) 
{ 
var i; 
var j; 
   var a = new Array(iRows); 
   for (i=0; i < iRows; i++) 
   { 
       a[i] = new Array(iCols); 
       for (j=0; j < iCols; j++) 
       { 
           a[i][j] = ""; 
       } 
   } 
   return(a); 
} 

function updateDirMenu(form,groupMenu,selectedIndex,selectedGroup, startDirValue){   
var numdiringroup = Array()
var dirArray=MultiDimensionalArray(35,0)
var new_index=-1;
var groupPrefs = "<?=$group_prefs?>";
var change = 0;

if (selectedGroup == undefined) {
    change = 1
    if (groupPrefs != "") {
        selectedGroup = groupPrefs}
}


<?php
$x = 0;
$numdiringroup = 0;
//$array = array( 'list', 'of', 'elements' );
while ($x < $num_groups) {


$xx = 0;
foreach ( $filelist[$x] as $element )
{

?>

if (<?=$x?> == selectedIndex) { <?
if ($folder_prefs <> "") {
    if ($element == $folder_prefs) {
    print "new_index=".$xx.";";}
}
?>
} //if $x==selectedIndex

<?
$xx = $xx + 1;

++$numdiringroup;
print "dirArray[".$x."].push('$element');";
}
++$x;
print "numdiringroup.push('$numdiringroup');";
$numdiringroup = 0;
}

?>


for(i = 0; i < form.elements.length; i++){
    if(form.elements[i] == groupMenu){
    var dirMenu = form.elements[i+1]
    break
    }
  }

var thelength // thelength is number of options the menu will have
thelength = numdiringroup[selectedIndex]
dirMenu.options.length = thelength

  for(i=0; i<thelength; i++){ // if number of current options is less than options to be displayed, write more options
  dirMenu.options[i].value=dirArray[selectedIndex][i]
  dirMenu.options[i].text=dirArray[selectedIndex][i]
  }

if(change == 1) {
if(selectedGroup != groupPrefs || new_index<0) {
if(thelength > 0) {
if(dirMenu.options[0].value == "Home") {
    dirMenu.selectedIndex = 1
    } //dirmenu
else dirMenu.selectedIndex = 0

} //if thelength
} //if selectedGroup

else dirMenu.selectedIndex = new_index
} //if change

else
for(i=0; i<thelength; i++){

if(dirMenu.options[i].value == startDirValue) {
    dirMenu.selectedIndex = i}


} //for
change = 0
}


</SCRIPT>

Edited 3 Years Ago by pyTony: fixed formating

Take this to the web forums, especially JavaSCRIPT or HTML forums.
Java is NOT JavaScript.

Oh sorry about that... I'm new to this site and did not look thoroughly at the threads.
I'll post it in the correct thread.

Gaston.

It's a common error, the names are somewhat familiar leading people to believe they're one and the same thing sometimes.

This article has been dead for over six months. Start a new discussion instead.