2013-01-16 52 views
0

我有一個iframe,它以模式打開。內容存在於iframe.jsp中。現在iframe包含一個下拉菜單。在下降的變化,我會打電話給另一個窗口。但是,如果用戶在下拉選項中選擇了選項:camRip,那麼該窗口將不會被調用。如何從iframe中獲取下拉選定文本?

我對變化看起來像這樣的代碼:

<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中獲取下拉用戶選擇的值?

回答

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會給你一個類型的錯誤。希望它能幫助別人。

相關問題