關於IFrame與其中的控件以及其父窗體的交互

        在網頁中iFrame實用非常多見,而我們大多采用javaScript來實現iframe中內容與其周邊對象的通訊。首先我們簡單講下iframe,iframe是一個容器,用來放其它頁面。<iframe  src='http://www.csdn.net'></iframe>,就可以連接到csdn頁面,改變src,就可以改變它的內容。

        首先是獲得該Iframe,可以用document.GetElementById("frameID"),這裏建議我們在書寫iframe標記的時候給它設置一個ID值。

        獲得了iframe容器,接下來就要對容器中的頁面進行操作了。iframename.document.forms[formname].controlname.value是通過獲取容器中的FormID來獲得頁面。並對頁面中的控件值進行讀寫處理。我們利用JavaScript的其他方法還可以使用document.getElementById("IframeID").contentWindow.document.all("控件ID").value="xxx";或者window.frames["IframeID"].document.getElementById("控件ID").value="some value";

        這裏單獨介紹一種特殊的情況,即在彈出頁面中對該頁面的iframe中的控件進行操作:

頁面A.aspx中存在一個ID爲Main的Iframe容器標記,該容器指向B.aspx,B.aspx頁面中存在一個按鈕,當點擊該按鈕彈出一個新的頁面C.aspx,要實現在C.aspx窗體點擊某按鈕的時候對A.aspx中Main中的某控件進行賦值。

B.aspx中彈出C.aspx的代碼

<asp:HyperLink ID="HyperLink1" Target="_top" NavigateUrl='javascript:var newwindow = window.open("C.aspx","其他語言","top=200,left=200,height=350,width=400,status=no,toolbar=no,menubar=no,location=no");newwindow.focus();'

     runat="server" Width="75px" TabIndex="14">選擇語言</asp:HyperLink>

 C.aspx.cs中點擊按鈕實現關閉該頁,並對“Main”中的控件“Content”賦值

              Response.Write(@"<script language=javascript> window.opener.document.getElementById('Main').contentWindow.document.all('Content').value='XXXXXX';</script>);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章