0

我有一个 iframe,它以模式打开。内容存在于 iframe.jsp 中。现在 iframe 包含一个下拉菜单。在更改下拉菜单时,我将调用另一个窗口。但是,如果用户在下拉选项中选择选项 : camRip,则不会调用该窗口。

我的 on change 代码如下所示:

<select id="hamStan"  onchange = "callWindow('<%=URL %>');">

我的变化是这样的:

function callWindow(URL) {
var selectedByUser = document.getElementById("hamStan");
var strUserText = selectedByUser.options[selectedByUser.selectedIndex].text;
if(strUserText!="camRip ")
{
var windowName = "popUp";    
var windowSizeArray = [ "width=740,height=400,top=10,left=50,toolbar=1,location=1,directories=0,status=0,menuBar=1,scrollBars=1,resizable=1"];
window.open(URL,windowName,windowSizeArray);
}
}

但问题是 selectedByUser 出现为空。我哪里错了?请帮助。如何从模态 iframe.jsp 更改下拉用户选择的值?

4

1 回答 1

0

经过大量研究,我终于找到了解决方案。

这就是我钓到的:

function callWindow(URL) {
var iframe = window.parent.parent.document.getElementById('myIframe');
var iwin= iframe.contentWindow || iframe.contentDocument.defaultView;
var selectedByUser  = iwin.document.getElementById('hamStan');
var strUserText = selectedByUser.options[selectedByUser.selectedIndex].text;
if(strUserText!="camRip ")
{
var windowName = "popUp";    
var windowSizeArray = [ "width=740,height=400,top=10,left=50,toolbar=1,location=1,directories=0,status=0,menuBar=1,scrollBars=1,resizable=1"];
window.open(URL,windowName,windowSizeArray);
}
}

请确保您在此处正确访问 iframe-id,否则变量 iframe 会给您一个类型错误。希望它可以帮助别人。

于 2013-01-16T10:46:04.850 回答