Forum Moderators: open
I created a simple list menu that links to other sites in a new window. I've found that it works fine in Mozilla but IE won't attempt to open them. Seems strange but maybe I'm missing something.
I've attached the code for reference.
Thanks
Matt
<form name="form1" >
<select name="FishandGame">
<option value="Dummy" selected>Select State</option>
<option value="http://www.dcnr.state.al.us/">Alabama</option>
</select>
<input type="button" name="Button1" value="Go" onClick="MM_jumpMenuGo('FishandGame','window.open()',0)">
</form>
Script:
function MM_jumpMenu(targ,selObj,restore){ //v3.0
if (selObj.options[selObj.selectedIndex].value!= "Dummy") {
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
}
function MM_jumpMenuGo(selName,targ,restore){ //v3.0
var selObj = MM_findObj(selName);
if (selObj) MM_jumpMenu(targ,selObj,restore);
}
Here it is:
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
<form name="form1">
<select name="FishandGame" onChange="myWindow(this.form);">
<option value="Dummy" selected>Select State</option>
<option value="http://www.dcnr.state.al.us/">Alabama</option>
</select>
</form>
<script language="javascript">
function myWindow(form) {
var ind,url,day,id,params,win;
ind = form.FishandGame.selectedIndex;
if (ind==0) { return; }
url = eval('form.FishandGame.options['+ind+'].value');
day = new Date();
id = day.getTime();
params = 'width=600,height=500,resizable,scrollbars';
win = open (url,id,params);
}
</script>
It may be limited but has more flexibility than anything that begins with MM_ . . . .