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>

Recommended Answers

All 4 Replies

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

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.

[thread]29819[/thread]

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.