iframe中的dropdown onchange事件无法正常工作

时间:2013-05-20 20:25:36

标签: javascript iframe

出于各种复杂的原因,我有一个带有iFrame的Joomla页面。 iframe调用的页面是经典的asp,其下拉列表如下所示:

<select name="pulldown" onchange="nav_pulldown(this)">
<option value="?wherearewe=here">I want to go here</option>
<option value="?wherearewe=there">I want to go there</option>
</select>

JavaScript:

<script type="text/javascript"> 
<!-- //
function nav_pulldown(list) {
if (list.options[list.selectedIndex].value != "#"); {
top.document.location = list.options[list.selectedIndex].value;
}}
//-->
</script>

因此,用户更改下拉菜单,javascript提交表单。 asp页面抓取查询字符串并根据所选内容呈现某些内容或其他内容。当页面在iframe外部呈现时(当top.document有效时),这一切都可以正常工作。但我无法确定正确的名称或调用下拉目标并填充自己更改。我尝试了很多不同的东西。

我可以控制两个页面,Joomla和ASP。由于各种原因,查询字符串不能改变。 iframe的名称目前是formframe,如果重要的话。

1 个答案:

答案 0 :(得分:0)

根据评论,您需要使用self.location(或略微冗余,但相当于self.document.location)而不是top.document.location

self指的是javascript代码所在的文档。 top将引用最顶层的父文档。因此,当您没有对某个网页进行评估时,top会引用self。但是当你在编写页面时,top指的是最顶层的父文档。