| | |
Javascript not working on a mac! Why O why?
![]() |
•
•
Join Date: Aug 2005
Posts: 4
Reputation:
Solved Threads: 0
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>
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>
![]() |
Similar Threads
- Javascript links not working (Web Browsers)
- Javascript not working under Mac! Why O why?! (JavaScript / DHTML / AJAX)
Other Threads in the Java Forum
- Previous Thread: Help with Arrays!!!
- Next Thread: URLs
| Thread Tools | Search this Thread |
911 actionlistener addressbook android api append applet application array arrays automation binary blackberry block bluetooth character chat class client code component consumer csv database desktop developmenthelp eclipse error fractal ftp game givemetehcodez graphics gui html ide image integer j2me j2seprojects japplet java javaarraylist javac javaee javaprojects jni jpanel julia lego linked linux list loops mac map method methods mobile netbeans newbie number objects online oriented panel printf problem program programming project projects properties recursion replaydirector reporting researchinmotion rotatetext rsa scanner se server set singleton sms sort sql string swing test textfields threads time title tree tutorial-sample ubuntu update windows working






