473,320 Members | 2,071 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

dynamic drop down menu (part 2)...

Further to my earlier post, I've found something that does partly what
I'm doing, but there are two issues:

1) There is an error in the script. Being a Javascript newbie, I've no
idea what the problem is.

2) I don't know how to re-program the script so that it opens up a url
depending on the choices made.

Here is the code (thanks Google!), I'd appreciate any help the you can
give.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Dynamic Dropdown Boxes</TITLE>
<META NAME="Generator" CONTENT="TextPad 3.0">
<META NAME="Author" CONTENT="Heidi Housten">
</HEAD>
<style>
body,table,td {font-family:verdana; font-size:9pt}
select {width:130;font-family:verdana}
pre { font-size:9pt }
</style>

<script language=javascript>
<!--
mainOpt = new Array()
subOpt = new Array()
mainOpt[0] = "How to relax"
subOpt [0] = new Array("","","")
mainOpt[1] = "Hot Spots"
subOpt [1] = new Array("Pick a Hot Spot","Mojave","Mars","Death
Valley","Mt. St. Helens")
mainOpt[2] = "Festivals"
subOpt [2] = new Array("Which One?","Mardi Gras","Cinco de
Mayo","Midsummer","Kite Festival")
mainOpt[3] = "Good Books"
subOpt [3] = new Array("Which Book?","N is for Noose","Four to
Score","A Grave Talent","Six of One")
mainOpt[4] = "Holidays"
subOpt [4] = new Array("Choose
Holiday","Cruises","Safaris","Ballooning","Adventu res")
function init()
{

fillCombo(document.forms.myMenus.mainMenu,mainOpt)
fillCombo(document.forms.myMenus.mainBox,mainOpt)
}

function fillCombo(cmbBox,aryMenu)
{
cmbBox.length = 0 // Clear out the current options
for (menuOpt in aryMenu)
{
cmbBox.options[cmbBox.length] = new
Option(aryMenu[menuOpt],cmbBox.length)
}
//Show first item if it is a drop down
cmbBox.selectedIndex=0
}
//-->
</script>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" onload="init()">
<center>
<form name=myMenus>
<br>an example<br><br>
<!-- do select template for older browsers, some
can't change size dynamically -->
<select name=mainMenu
onchange="fillCombo(subMenu,subOpt[this.selectedIndex])">
<option>
<option>
<option>
<option>
<option>
<option>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
</select><br><br>
<select name=subMenu>
<option>
<option>
<option>
<option>
<option>
<option>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
</select>
<br>
</form>
</center>
</BODY>
</HTML>

Feb 21 '06 #1
15 1980
fi***********@gmail.com wrote:
Here is the code (thanks Google!), I'd appreciate any help the you can
give.
I don't do JavaScript, but while we're here...
<style>
body,table,td {font-family:verdana; font-size:9pt}
select {width:130;font-family:verdana}
pre { font-size:9pt }
</style>


9pt? Points are for printing. Many people won't be able to read that,
and may not be able to resize it in some browsers. Set your font-size to
100%.

http://www.xs4all.nl/~sbpoley/webmatters/fontsize.html
http://www.xs4all.nl/~sbpoley/webmatters/verdana.html

--
-bts
-Warning: I brake for lawn deer
Feb 21 '06 #2
fi***********@gmail.com wrote:
Further to my earlier post, I've found something that does partly what
I'm doing, but there are two issues:

The reason you did not get a satifactory response is that most feel that
what your are attempting is a 'bad idea'. But in the matter of
JavaScript (which must be enabled for the form to work, the other bad
idea) you have some obvious errors which I will show to you, educational
and all.
1) There is an error in the script. Being a Javascript newbie, I've no
idea what the problem is.

2) I don't know how to re-program the script so that it opens up a url
depending on the choices made.

Here is the code (thanks Google!), I'd appreciate any help the you can
give.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
Ugh, please look up doctype. This is ancient. <HTML>
<HEAD>
<TITLE>Dynamic Dropdown Boxes</TITLE>
<META NAME="Generator" CONTENT="TextPad 3.0">
<META NAME="Author" CONTENT="Heidi Housten">
</HEAD>
<style>
body,table,td {font-family:verdana; font-size:9pt}
select {width:130;font-family:verdana}
pre { font-size:9pt }
</style>


Next although ending JavaScript statements with a ';' is optional I
recommend it because is prevents errors when a single statement spans
more than on line. Also your can gang more than one statement on a
single line:
var aOpt=new Array; var oMine=new Object;

<script language=javascript>
<!--
mainOpt = new Array()
subOpt = new Array()
mainOpt[0] = "How to relax"
subOpt [0] = new Array("","","")
mainOpt[1] = "Hot Spots"
subOpt [1] = new Array("Pick a Hot Spot","Mojave","Mars","Death
Valley","Mt. St. Helens")
mainOpt[2] = "Festivals"
subOpt [2] = new Array("Which One?","Mardi Gras","Cinco de
Mayo","Midsummer","Kite Festival")
mainOpt[3] = "Good Books"
subOpt [3] = new Array("Which Book?","N is for Noose","Four to
Score","A Grave Talent","Six of One")
mainOpt[4] = "Holidays"
subOpt [4] = new Array("Choose
Holiday","Cruises","Safaris","Ballooning","Adventu res")
function init()
{

fillCombo(document.forms.myMenus.mainMenu,mainOpt)
fillCombo(document.forms.myMenus.mainBox,mainOpt) Incorrect here-------------------------^^------^^^
should be:

fillCombo(document.forms.myMenus.subMenu,subOpt[0]);

to fill the second SELECT "subMenu" with the 1st array "subOpt[0]" upon
initialization.

}

function fillCombo(cmbBox,aryMenu)
{
cmbBox.length = 0 // Clear out the current options
for (menuOpt in aryMenu)
{
cmbBox.options[cmbBox.length] = new
Option(aryMenu[menuOpt],cmbBox.length)
}
//Show first item if it is a drop down
cmbBox.selectedIndex=0
}
//-->
</script>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" onload="init()">
<center>
<form name=myMenus>
<br>an example<br><br>
<!-- do select template for older browsers, some
can't change size dynamically -->
<select name=mainMenu
onchange="fillCombo(subMenu,subOpt[this.selectedIndex])"> -------------------------^^^
should pass the complete reference to the SELECT object:

onchange="fillCombo(this.form.subMenu, subOpt[this.selectedIndex]);
<option>
<option>
<option>
<option>
<option>
<option>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
</select><br><br>
<select name=subMenu>
<option>
<option>
<option>
<option>
<option>
<option>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
</select>
<br>
</form>
</center>
</BODY>
</HTML>


Probably more but that is what I found on quick examination.

--
Take care,

Jonathan
-------------------
LITTLE WORKS STUDIO
http://www.LittleWorksStudio.com
Feb 21 '06 #3

"Beauregard T. Shagnasty" <a.*********@example.invalid> wrote in message
news:Re*******************@bgtnsc04-news.ops.worldnet.att.net...
fi***********@gmail.com wrote:
Here is the code (thanks Google!), I'd appreciate any help the you can
give.


I don't do JavaScript, but while we're here...
<style>
body,table,td {font-family:verdana; font-size:9pt}
select {width:130;font-family:verdana}
pre { font-size:9pt }
</style>


9pt? Points are for printing. Many people won't be able to read that,
and may not be able to resize it in some browsers. Set your font-size to
100%.

http://www.xs4all.nl/~sbpoley/webmatters/fontsize.html
http://www.xs4all.nl/~sbpoley/webmatters/verdana.html

<snip>

Thanks for your comments. Again, this is not relevent to my project. If this
was for a "proper" website (as in to go on the WWW, and be used
cross-browser, then yes, I'd agree).

Thanks for your comments.
--
Neil
Feb 21 '06 #4

"Jonathan N. Little" <lw*****@centralva.net> wrote in message
news:43***********************@news.centralva.net. ..
fi***********@gmail.com wrote:
Further to my earlier post, I've found something that does partly what
I'm doing, but there are two issues:

The reason you did not get a satifactory response is that most feel that
what your are attempting is a 'bad idea'. But in the matter of JavaScript
(which must be enabled for the form to work, the other bad idea) you have
some obvious errors which I will show to you, educational and all.

1) There is an error in the script. Being a Javascript newbie, I've no
idea what the problem is.

2) I don't know how to re-program the script so that it opens up a url
depending on the choices made.

Here is the code (thanks Google!), I'd appreciate any help the you can
give.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">


Ugh, please look up doctype. This is ancient.
<HTML>
<HEAD>
<TITLE>Dynamic Dropdown Boxes</TITLE>
<META NAME="Generator" CONTENT="TextPad 3.0">
<META NAME="Author" CONTENT="Heidi Housten">
</HEAD>
<style>
body,table,td {font-family:verdana; font-size:9pt}
select {width:130;font-family:verdana}
pre { font-size:9pt }
</style>


Next although ending JavaScript statements with a ';' is optional I
recommend it because is prevents errors when a single statement spans more
than on line. Also your can gang more than one statement on a single line:
var aOpt=new Array; var oMine=new Object;

<script language=javascript>
<!--
mainOpt = new Array()
subOpt = new Array()
mainOpt[0] = "How to relax"
subOpt [0] = new Array("","","")
mainOpt[1] = "Hot Spots"
subOpt [1] = new Array("Pick a Hot Spot","Mojave","Mars","Death
Valley","Mt. St. Helens")
mainOpt[2] = "Festivals"
subOpt [2] = new Array("Which One?","Mardi Gras","Cinco de
Mayo","Midsummer","Kite Festival")
mainOpt[3] = "Good Books"
subOpt [3] = new Array("Which Book?","N is for Noose","Four to
Score","A Grave Talent","Six of One")
mainOpt[4] = "Holidays"
subOpt [4] = new Array("Choose
Holiday","Cruises","Safaris","Ballooning","Adventu res")
function init()
{

fillCombo(document.forms.myMenus.mainMenu,mainOpt)
fillCombo(document.forms.myMenus.mainBox,mainOpt)

Incorrect here-------------------------^^------^^^
should be:

fillCombo(document.forms.myMenus.subMenu,subOpt[0]);

to fill the second SELECT "subMenu" with the 1st array "subOpt[0]" upon
initialization.

}

function fillCombo(cmbBox,aryMenu)
{
cmbBox.length = 0 // Clear out the current options
for (menuOpt in aryMenu)
{
cmbBox.options[cmbBox.length] = new
Option(aryMenu[menuOpt],cmbBox.length)
}
//Show first item if it is a drop down
cmbBox.selectedIndex=0
}
//-->
</script>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" onload="init()">
<center>
<form name=myMenus>
<br>an example<br><br>
<!-- do select template for older browsers, some
can't change size dynamically -->
<select name=mainMenu
onchange="fillCombo(subMenu,subOpt[this.selectedIndex])">

-------------------------^^^
should pass the complete reference to the SELECT object:

onchange="fillCombo(this.form.subMenu, subOpt[this.selectedIndex]);
<option>
<option>
<option>
<option>
<option>
<option>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
</select><br><br>
<select name=subMenu>
<option>
<option>
<option>
<option>
<option>
<option>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
</select>
<br>
</form>
</center>
</BODY>
</HTML>


Probably more but that is what I found on quick examination.

<snip>
Cheers Jonathan, I'll take a look when I get back in the office.
--
Neil
Feb 21 '06 #5
Neil Monk wrote:
Thanks for your comments. Again, this is not relevent to my project.
If this was for a "proper" website (as in to go on the WWW, and be
used cross-browser, then yes, I'd agree).
I did not notice in your original post where you said this was not a WWW
page. We normally assume WWW unless you state otherwise, such as "this
is for an intranet" and maybe even "all my users are slaves to IE." Or
similar.
Thanks for your comments.


Hopefully, every user of your intranet has perfect vision? :-)

--
-bts
-Warning: I brake for lawn deer
Feb 21 '06 #6
Beauregard T. Shagnasty wrote:
Neil Monk wrote:
Thanks for your comments. Again, this is not relevent to my project.
If this was for a "proper" website (as in to go on the WWW, and be
used cross-browser, then yes, I'd agree).


I did not notice in your original post where you said this was not a
WWW page. We normally assume WWW unless you state otherwise, such as
"this is for an intranet" and maybe even "all my users are slaves to
IE." Or similar.


Unfortunatley they are all slaves to IE, only I have FF installed.
Thanks for your comments.


Hopefully, every user of your intranet has perfect vision? :-)

That is correct, well, not all of the hundreds of thousands of people in my
company, but the 10-15 people that would be using this, yes they have..
--
Neil
Feb 21 '06 #7
Cheers Jonathan.

How do I get it to go to a url now? Can you help me with that too
please?

TIA, Neil.

Feb 22 '06 #8
fi***********@gmail.com wrote:
Cheers Jonathan.

How do I get it to go to a url now? Can you help me with that too
please?

TIA, Neil.

Please quote what you are referring to.

To do that you will need a third synchronized array of URLs for your
subOpt array where upon what is selected with subMenu you could set the
document's location to that URL.

Google 'javascript location object'

--
Take care,

Jonathan
-------------------
LITTLE WORKS STUDIO
http://www.LittleWorksStudio.com
Feb 22 '06 #9

Jonathan N. Little wrote:
fi***********@gmail.com wrote:
Cheers Jonathan.

How do I get it to go to a url now? Can you help me with that too
please?

TIA, Neil.

Please quote what you are referring to.

To do that you will need a third synchronized array of URLs for your
subOpt array where upon what is selected with subMenu you could set the
document's location to that URL.

Google 'javascript location object'

--
Take care,

Jonathan
-------------------
LITTLE WORKS STUDIO
http://www.LittleWorksStudio.com

Sorry, I was using the wrong option (I use USENET via Google Groyups
when I'm at work).

I'll have a look at what you've said.
--
Cheers, Neil

Feb 23 '06 #10
fi***********@gmail.com wrote:
Jonathan N. Little wrote: <snip>
Please quote what you are referring to.

<snip> Sorry, I was using the wrong option (I use USENET via Google Groyups
when I'm at work).


I don't use GG but I know from all the complaints that there is a
setting to do proper quoting. I think Blinky has a reference to it on
his site:

http://blinkynet.net/comp/uip5.html
The Usenet Improvement Project - Blinkynet

--
Take care,

Jonathan
-------------------
LITTLE WORKS STUDIO
http://www.LittleWorksStudio.com
Feb 23 '06 #11

Jonathan N. Little wrote:
fi***********@gmail.com wrote:
Jonathan N. Little wrote:

<snip>
Please quote what you are referring to.

<snip>
Sorry, I was using the wrong option (I use USENET via Google Groyups
when I'm at work).


I don't use GG but I know from all the complaints that there is a
setting to do proper quoting. I think Blinky has a reference to it on
his site:

http://blinkynet.net/comp/uip5.html
The Usenet Improvement Project - Blinkynet

--
Take care,

Jonathan
-------------------
LITTLE WORKS STUDIO
http://www.LittleWorksStudio.com


There is indeed. I've found it now!

Still not got it (my form) work, I know next to nothing about
Javascript hence my problems. I've googled like you suggested, but I
can't find an example of what I need.
--
Neil

Feb 23 '06 #12
fi***********@gmail.com wrote:
<snip>

Still not got it (my form) work, I know next to nothing about
Javascript hence my problems. I've googled like you suggested, but I
can't find an example of what I need.


Aw c'mon Neil! The first results page in Google for the three search
words 'javascript location object' all yielded valid pages on how to use
the location object. You have do a little work for yourself ;-)

--
Take care,

Jonathan
-------------------
LITTLE WORKS STUDIO
http://www.LittleWorksStudio.com
Feb 23 '06 #13

Jonathan N. Little wrote:
fi***********@gmail.com wrote:
<snip>

Still not got it (my form) work, I know next to nothing about
Javascript hence my problems. I've googled like you suggested, but I
can't find an example of what I need.


Aw c'mon Neil! The first results page in Google for the three search
words 'javascript location object' all yielded valid pages on how to use
the location object. You have do a little work for yourself ;-)

The only problem Jonathan, is that I know next to nothing about
Javascript, so the pages that I found mean nothing to me...
--
Neil

Feb 24 '06 #14
fi***********@gmail.com wrote:
Jonathan N. Little wrote:
fi***********@gmail.com wrote:
<snip>
Still not got it (my form) work, I know next to nothing about
Javascript hence my problems. I've googled like you suggested, but I
can't find an example of what I need.


Aw c'mon Neil! The first results page in Google for the three search
words 'javascript location object' all yielded valid pages on how to use
the location object. You have do a little work for yourself ;-)


The only problem Jonathan, is that I know next to nothing about
Javascript, so the pages that I found mean nothing to me...


http://www.google.com/search?hl=en&q...=Google+Search

--
Take care,

Jonathan
-------------------
LITTLE WORKS STUDIO
http://www.LittleWorksStudio.com
Feb 24 '06 #15
Jonathan N. Little wrote:
fi***********@gmail.com wrote:
Jonathan N. Little wrote:
fi***********@gmail.com wrote:
<snip>

Still not got it (my form) work, I know next to nothing about
Javascript hence my problems. I've googled like you suggested, but I
can't find an example of what I need.

Aw c'mon Neil! The first results page in Google for the three search
words 'javascript location object' all yielded valid pages on how to use
the location object. You have do a little work for yourself ;-)

The only problem Jonathan, is that I know next to nothing about
Javascript, so the pages that I found mean nothing to me...


http://www.google.com/search?hl=en&q...=Google+Search


Or, even:

javascript:location.replace("http://www.google.com/search?q=javascript+tutorial")

If you are using a Javascript-enabled browser to read this, and the portal
you're reading on linkifies all URLs (not just the http ones), clicking
that *may* just work.

If not, well, that shows the problems with using javascript for core
functionality.

--
Jim
Feb 26 '06 #16

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: KK | last post by:
Drop-down menus are the hottest thing since Wonder Bread but . . . 1. Alot of people put them in the they-look-nice-but-you-cant-code-them-right-so-they-always-look-messed-up category (a la...
6
by: Greg Scharlemann | last post by:
I am attempting to populate a drop down menu based on the selection of a different drop down menu. However, it is not working correctly, I cannot figure out for the life of me what exactly happens...
4
by: simon.cigoj | last post by:
I have an javascript made menu and some forms with the dropdown element. When the menu opens and scrolls down the drop down is displeyed over the menu and obscures the menu choices. I have this...
1
by: tribal boy | last post by:
Guys, I am using a dynamic menu which uses xml,xsl a css file and javascript. This works fine when there are no server controls around or underneath it. The problem is whenever the menu...
3
by: scaredemz | last post by:
hi, so i'm creating a dynamic drop-down menu. the menu and the text show up fine in IE but only the drop-down shows in Firefox without the menu text. Below is the fxn code. help pls. function...
19
by: mart2006 | last post by:
I've created a dynamic drop down menu that populates itself with data from a MySQL table. What I would like to do is create a non dynamic drop down menu that alters what is shown in the dynamic menu....
6
by: mcgrew.michael | last post by:
I hope this is the right group. I am very new to ASP so this is probably a stupid question. I have some vbscript that query's AD and populates a recordset. I know the recorset contains the...
4
by: TycoonUK | last post by:
Hi, As I do not have IE7 on my computer, I was wondering if there is a fault in my CSS Menu when using IE7. Please can someone look at my site - http://www.worldofmonopoly.co.uk and tell me...
2
by: vinceboy | last post by:
Hi anybody. I am newbie here and would like to know that how can I validate both drop down menu and radio button from a dynamic display form.Something went wrong with my script.The radio button is...
10
by: mart2006 | last post by:
Hi, I'm fairly new to PHP and I've created a dynamic drop down menu that populates itself with data from a MySQL table. What I would like to do is create a non dynamic drop down menu that alters...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
0
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.