RE: Dynamic Form Help
by Matthew Ohlman <programingfreak(at)yahoo.com>
|
Date: |
Mon, 22 Jan 2001 15:03:34 -0800 (PST) |
To: |
List HTML <hwg-basics(at)hwg.org> |
|
todo: View
Thread,
Original
|
|
Nick. I took this code out of a javscript CD. I hope
it will be usefull. It does have a couple of extra
things in it. (Sorry if it confuses you, it confused
me! and sorry if it isn't any help).
<!---BEGIN CODE---!>
<HTML>
<HEAD>
<TITLE>Related Menus</TITLE>
<SCRIPT LANGUAGE = "JavaScript">
function makeItem(name, url) {
this.name = name;
this.url = url;
}
function newItem(name, url) {
itemsIndex++;
cats[catsIndex][itemsIndex] = new makeItem(name,
url);
cats[catsIndex].length++;
}
function makeCat(name) {
this.name = name;
this.length = 0;
}
function newCat(name) {
catsIndex++
itemsIndex = -1;
cats[catsIndex] = new makeCat(name);
}
function relateItems(cat) {
if (isNS3) {
if (cat > 0) {
catsIndex = cat - 1;
with (document.m.m2) {
for (var i = options.length; i > 1;
i--) options[i] = null;
for (var i = 0; i <
cats[catsIndex].length; i++) options[i + 1] = new
Option(cats[catsIndex][i].name);
options[0].selected = true;
}
}
}
else {
if (m1.listIndex > 0) {
m2.clear();
m2.addItem(itemHeading);
catsIndex = m1.listIndex - 1;
for (var i = 0; i <
cats[catsIndex].length; i++)
m2.addItem(cats[catsIndex][i].name);
m2.listIndex = 0;
}
}
itemsIndex = 0;
}
function gotoPage(item) {
var url = null;
if (isNS3 && item > 0) url = cats[catsIndex][item
- 1].url;
if (isIE && m2.listIndex > 0) url =
cats[catsIndex][m2.listIndex - 1].url;
if (url != null) window.location.href = url;
}
function addHeadings() {
m1.addItem(catHeading);
for (var i = 0; i < cats.length; i++)
m1.addItem(cats[i].name);
m1.listIndex = 0;
m2.addItem(itemHeading);
m2.listIndex = 0;
}
var isNS3 = (navigator.appName == "Netscape" &&
parseInt(navigator.appVersion) >= 3);
var isIE = (navigator.appName == "Microsoft Internet
Explorer");
var cats = new Array();
var catsIndex = -1;
var itemsIndex = -1;
var catHeading = 'Choose A Category'; //
heading for category menu
var itemHeading = 'Choose A Page'; //
heading for pages menu
var betweenHeading = ' then '; // "in
between" text
newCat('Luxury Cars'); // new
category
newItem('Euro', 'euro.html'); // pages
in category
newItem('Alvan', 'alvan.html');
newItem('Gates', 'gates.html');
newCat('Off Road'); // new
category
newItem('Mountaineer', 'mountaineer.html'); // pages
in category
newItem('Buck', 'buck.html');
newCat('Sports Cars'); // new
category
newItem('Zippo', 'zippo.html'); // pages
in category
newItem('Flier', 'flier.html');
newItem('Maven', 'maven.html');
newItem('Zoom', 'zoom.html');
</SCRIPT>
<SCRIPT LANGUAGE = "VBScript">
Sub m1_Change()
call relateItems
End Sub
Sub m2_Change()
call gotoPage
End Sub
Sub Window_onLoad()
call addHeadings
End Sub
</SCRIPT>
</HEAD>
<BODY BGCOLOR = "#FFFFFF">
<!-- Place the following script where you want the
menus to be displayed -->
<SCRIPT LANGUAGE = "JavaScript">
if (isNS3) {
document.write('<FORM NAME = "m">');
document.write('<SELECT NAME = "m1" onChange =
"relateItems(this.selectedIndex)">');
document.write('<OPTION>' + catHeading +
'</OPTION>');
for (var i = 0; i < cats.length; i++)
document.write('<OPTION>' + cats[i].name +
'</OPTION>');
document.write('</SELECT>' + betweenHeading);
document.write('<SELECT NAME = "m2" onChange =
"gotoPage(this.selectedIndex)">');
document.write('<OPTION>' + itemHeading +
'</OPTION>');
for (var i = 0; i < 10; i++)
document.write('<OPTION></OPTION>');
document.write('</SELECT></FORM>');
for (var i = document.m.m2.options.length; i
> 0; i--) document.m.m2.options[i] = null;
}
else if (isIE) {
document.write('<OBJECT ID = "m1" WIDTH = "221"
HEIGHT = "24" CLASSID =
"CLSID:8BD21D30-EC42-11CE-9E0D-00AA006002F3">');
document.write('<PARAM NAME =
"VariousPropertyBits" VALUE = "746604571">');
document.write('<PARAM NAME = "Size" VALUE =
"5574;635">');
document.write('<PARAM NAME = "MatchEntry" VALUE
= "1">');
document.write('<PARAM NAME = "FontCharSet" VALUE
= "0">');
document.write('<PARAM NAME =
"FontPitchAndFamily" VALUE = "2">');
document.write('<PARAM NAME = "DisplayStyle"
VALUE = "3">');
document.write('<PARAM NAME =
"ShowDropButtonWhen" VALUE = "2">');
document.write('</OBJECT>');
document.write(betweenHeading);
document.write('<OBJECT ID = "m2" WIDTH = "221"
HEIGHT = "24" CLASSID =
"CLSID:8BD21D30-EC42-11CE-9E0D-00AA006002F3">');
document.write('<PARAM NAME =
"VariousPropertyBits" VALUE = "746604571">');
document.write('<PARAM NAME = "Size" VALUE =
"5574;635">');
document.write('<PARAM NAME = "MatchEntry" VALUE
= "1">');
document.write('<PARAM NAME = "FontCharSet" VALUE
= "0">');
document.write('<PARAM NAME =
"FontPitchAndFamily" VALUE = "2">');
document.write('<PARAM NAME = "DisplayStyle"
VALUE = "3">');
document.write('<PARAM NAME =
"ShowDropButtonWhen" VALUE = "2">');
document.write('</OBJECT>');
}
</SCRIPT>
</BODY>
</HTML>
<!--End CODE--!>
Matthew
__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - Buy the things you want at great prices.
http://auctions.yahoo.com/
HTML: hwg-basics mailing list archives,
maintained by Webmasters @ IWA