Following is the script that makes a jump menu.Using javascript i have set the index of the options tag to be equal to 0.The scrip works fine except one.After i jump to another page from the jump menu the index is not reset to the index 0.Instead it is set to the index where i had clicked.Why is it so ? What is the problem with script ?
script:
window.onload = startInit;
function startInit() {
document.getElementById("newLocation").selectedIndex = 0;
document.getElementById("newLocation").onchange = jumpPage;
}
function jumpPage() {
var newLoc = document.getElementById("newLocation");
var newPage = newLoc.options[newLoc.selectedIndex].value;
if(newPage != "")
window.location = newPage;
}
HTML
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="script.js">
</script>
</head>
<body bgcolor="#FFFFCC">
<center>
<form>
<select id="newLocation">
<option value="myworld.gif">first</option>
<option value="myhome.gif">second</option>
<option value="myroom.gif">third</option>
<option value="mybed.jpg">fourth</option>
</select>
</form>
Browser acts smart and caches your page. So are seeing the cached version of your
HTML page.To ensure that this doesn’t happen and you always start up with the
0th index,tell the browser not to do anything (the way you want) when the page
unloads.
The statement should be:
window.onunload = function(){}; // do nothing functionyou can add after
window.onload = startInit;That tells the browser that something happened during unloading and therefore it
should re-read the page.