2

私は以下のようなコードを持っています、

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

上記の2行の違いは何ですか。FFで「contentFrame.document is undefined」というエラーが表示されます

私のフォームは以下のようなものです、

<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>

これが、コードが以下のように globalSearch iframe id (親ページの子要素と見なす) を参照している理由です。

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

this->content=$(#globalSearch").contents();このシナリオで動作しますか? どうか明らかにしてください。前もって感謝します。これは非常に緊急です。助けてください。

4

1 に答える 1

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

最初のステートメントだけが意味を持ちます。2 つ目は最初のものに依存し、globalSearchid を持つ iframe 内を検索しglobalSearchます。

ところで、最初のステートメントを少し短くすることができます:

var contentFrame = document.getElementById('globalSearch')

を指定する必要はありませんwindow

于 2012-06-15T14:30:15.143 に答える