如何从iframe下拉所选文本?

时间:2013-01-16 08:03:46

标签: javascript iframe

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

我的变更代码如下:

<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获取用户选择的下拉值?

1 个答案:

答案 0 :(得分: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将为您提供类型错误。希望它能帮助别人。