所以我使用带有国家/地区列表的HTML选择框和一个按钮来打开一个小窗口,其中包含HTML选择框中所选项目的更多详细信息。
这就是我在做这个的方式(我在这里为任何无趣的事先道歉,我还是Javascript的新手):
//in header
<script type="text/javascript">
function popUp()
{
countryName = document.getElementById("countrylist").value;
document.write(countryName);
dest = "countries/" + countryName + ".html";
window.open(dest, 0, "toolbar=0, scrollbars=0, statusbar=0, menubar=0,resizable=0,width=400,height=400,left=440,top=312");
}
</script>
<form id="countryform">
<select id="countrylist">
<!--List of countries removed for brevity-->
</select>
<input type="button" name="countryBtn" value="Submit Query" onClick="popUp();">
</form>
这适用于Firefox,但不适用于IE6。任何帮助将不胜感激!
更新:所以我尝试了下面的前两种方法,替代弹出功能在任一浏览器中都不起作用,替换document.getElementById行没有改变任何东西,在Firefox中仍能正常工作,不在IE中。
答案 0 :(得分:6)
document.getElementById("countrylist").value;
需要:
document.getElementById("countrylist")[document.getElementById("countrylist").selectedIndex].value;
答案 1 :(得分:0)
您遇到的问题是获取国家/地区名称。我会将你的弹出功能更改为:
function popUp() {
var e = document.getElementById("countrylist");
var countryName = e.options[e.selectedIndex].value;
dest = "countries/" + countryName + ".html";
window.open(dest, 0, "toolbar=0, scrollbars=0, statusbar=0, menubar=0,resizable=0,width=400,height=400,left=440,top=312");
}
答案 2 :(得分:0)
以下是我修复它的方法:
function popUp()
{
var c = document.getElementById("countrylist");
var countryName = c.options[c.selectedIndex].text;
var dest = "countries/" + countryName + ".html";
window.open(dest, 0, "toolbar=0, scrollbars=0, statusbar=0, menubar=0,resizable=0,width=400,height=400,left=440,top=312");
}
这适用于IE6和FF3。
感谢您的帮助!