2012-02-05 162 views
0

這可能是一個非常基本的問題,但我無法解決這個問題。我在MainPage.jsp文件中定義了以下內容。訪問兄弟框架的DIV元素

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     </head> 

     <frameset rows="44,*,26" cols="*"> 
      <frame src="SubFrame1.jsp" name="SubFrame1" scrolling="no" id="SubFrame1" /> 
      <frame src="SubFrame2.jsp" id="SubFrame2" title="SubFrame2" /> 
     </frameset> 

     <noframes> 
     <body style="overflow:hidden"> 
     </body> 
     </noframes> 

     </html> 

如何訪問從另一個(例如SubFrame2.jsp)在一個子幀頁面(例如SubFrame1.jsp)定義的任何元素?

謝謝。

回答

1

您可以使用javascript做到這一點。使用parent.frame_nameHere你可以找到一個例子。

編輯:

假如你已經被稱爲 「someinput」 一個輸入子幀中的一個:

<script type='text/javascript'> 
    alert(window.parent.SubFrame1.document.getElementById('someinput').value); 
</script> 

<input type='text' name='someinput' id='someinput' value='my value!' /> 

您可以通過JavaScript中的子幀的兩個訪問值

但請注意,使用幀是obj選項。最好將你的內容分爲divscss這樣的風格。

+0

感謝塞爾吉奧的回覆,併爲我的遲到表示歉意。我試過你的解決方案,但是當我調試JS時,我無法導航到window.parent.mainFrame.document.all。我只在最新版本的Firefox和Crome上試過這些。我有些想要通過如下方式訪問兄弟元素:x.y.document.getElementByID(「divID」)。謝謝。 – Shaun 2012-02-13 22:58:40

+0

@Shaun在你的情況下應該是'window.parent.SubFrame1'。希望有所幫助! :) – 2012-02-14 13:45:09

+0

我無法導航到您的示例參考[here](http://www.java2s.com/Code/JavaScriptReference/Javascript-Properties/parentExample.htm)中的'window.parent.mainFrame.document.all'。因此,在我的例子中,我無法導航到'window.parent.SubFrame1.document.all'。它給出了一個未定義的錯誤。 – Shaun 2012-02-15 13:32:54