2012-06-15 42 views
2

IFRAME我有一個像下面的代碼,JavaScript錯誤與FF

var contentFrame = window.document.getElementById("globalSearch"); 
var content = contentFrame.document.getElementById("globalSearch"); 

可以有一個人請我expalin什麼是上面兩行之間的差異。在FF我收到錯誤「contentFrame.document未定義」

和我的形式是一樣的東西下面,

<form id="Search" action="<c:url value="/search" />" method="get"> 
<input .... />   
<iframe style="visibility : hidden;position : absolute;top : 0; border : 1px solid WindowFrame;"frameborder="0"   src="<c:url value="/search" />" 
id="globalSearch" name="globalSearch"></iframe></form> 

有反正我可以擺脫上述錯誤的?如果有人給我在jQuery中的所有瀏覽器中的等效代碼,我會被加。

再次感謝您!


其實,即時通訊我的應用程序,爲每個頁面使用一個模板。模板具有頁眉,頁腳菜單html。下面示出的表格中定義了header.html

<form id="Search" action="<c:url value="/search" />" method="get"> 
    <input .... />    
    <iframe style="visibility : hidden;position : absolute;top : 0; border : 1px solid WindowFrame;" frameborder="0" src="<c:url value="/search" />" id="globalSearch" name="globalSearch"></iframe> 
</form> 

即代碼reffering的globalSearch IFRAME ID的原因(考慮作爲父頁面的子元素),如下,

var contentFrame = window.document.getElementById("globalSearch"); 
var content = contentFrame.document.getElementById("globalSearch");              

this->content=$(#globalSearch").contents();在這種情況下工作?請澄清。提前致謝。這是非常緊急的。請幫忙。

回答

0
var contentFrame = window.document.getElementById("globalSearch"); 
var content = contentFrame.document.getElementById("globalSearch"); 

只有第一種說法是有道理的;第二個依賴於第一個,並將在iframe中搜索globalSearch,其ID爲globalSearch

順便說一句,可以縮短先聲明一點:

var contentFrame = document.getElementById('globalSearch') 

指定window你不需要。

+0

這又是一個問題..實際上,在我的應用程序中,每個頁面都使用一個模板。模板具有頁眉,頁腳菜單html。下面顯示的表單在header.html中定義:「method =」get「> 」id =「globalSearch」name =「globalSearch」>這就是代碼重審globalSearch iframe id的原因(考慮作爲父頁面的子元素)如下,var contentFrame = window.document.getElementById(「globalSearch」); var content = contentFrame.document.getElementById(「globalSearch」);將this-> content = $(#globalSearch「)。contents();在這種情況下工作?請澄清。 – user1455948