/*JavaScript Bible, Fourth Editionby Danny Goodman Publisher: John Wiley & Sons CopyRight 2001ISBN: 0764533428*/<HTML><HEAD><TITLE>Changing Options On The Fly</TITLE><SCRIPT LANGUAGE="JavaScript">// flag to reload page for older NNsvar isPreNN6 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) <= 4)// initialize color list arraysplainList = new Array(6)hardList = new Array(6)plainList[0] = "cyan"hardList[0] = "#00FFFF"plainList[1] = "magenta"hardList[1] = "#FF00FF"plainList[2] = "yellow"hardList[2] = "#FFFF00"plainList[3] = "lightgoldenrodyellow"hardList[3] = "#FAFAD2"plainList[4] = "salmon"hardList[4] = "#FA8072"plainList[5] = "dodgerblue"hardList[5] = "#1E90FF"// change color language setfunction setLang(which) { var listObj = document.forms[0].colors // filter out old browsers if (listObj.type) { // find out if it's 3 or 6 entries var listLength = listObj.length // save selected index var currSelected = listObj.selectedIndex // replace individual existing entries for (var i = 0; i < listLength; i++) { if (which == "plain") { listObj.options[i].text = plainList[i] } else { listObj.options[i].text = hardList[i] } } if (isPreNN6) { history.go(0) } else { listObj.selectedIndex = currSelected } }}// create entirely new options listfunction setCount(choice) { var listObj = document.forms[0].colors // filter out old browsers if (listObj.type) { // get language setting var lang = (document.forms[0].geekLevel[0].checked) ? "plain" : "hard" // empty options from list listObj.length = 0 // create new option object for each entry for (var i = 0; i < choice.value; i++) { if (lang == "plain") { listObj.options[i] = new Option(plainList[i]) } else { listObj.options[i] = new Option(hardList[i]) } } listObj.options[0].selected = true if (isPreNN6) { history.go(0) } }}</SCRIPT></HEAD><BODY><H1>Flying Select Options</H1><FORM>Choose a palette size:<INPUT TYPE="radio" NAME="paletteSize" VALUE=3 onClick="setCount(this)" CHECKED>Three<INPUT TYPE="radio" NAME="paletteSize" VALUE=6 onClick="setCount(this)">Six<P>Choose geek level:<INPUT TYPE="radio" NAME="geekLevel" VALUE="" onClick="setLang('plain')" CHECKED>Plain-language<INPUT TYPE="radio" NAME="geekLevel" VALUE="" onClick="setLang('hard')">Gimme hex-triplets!<P>Select a color:<SELECT NAME="colors"> <OPTION SELECTED>cyan <OPTION>magenta <OPTION>yellow</SELECT></FORM></BODY></HTML>
Name (required)
email (will not be published) (required)
Website