在Web開發時,很多時候會遇到一個問題。我在一個頁面嵌入了iframe,並且我想獲得這個iframe頁面某個元素的值。那麼該如何?這個需求呢?
先來看下示範:
效果示範
iframe1中文字框的值:
在IE下操作IFrame內容的代碼:
document.frames["MyIFrame"].document.getElementById("s").style.color="blue";
但是這在Firefox下無效。所以,想到在Firefox下用FireBug來調試。經過調試發現在Firefox下可用以下代碼來實現:
document.getElementById("MyIFrame").contentDocument.getElementById("s").style.color="blue";
demo代碼:
<div><iframe name="frame1" id="frame1" src="frm.html" frameborder="1" height="60"></iframe></div> <p>iframe1中文字框的值:<input type="button" name="Submit" value="getValue" onclick="getValue()" /></p><script type="text/javascript">function getValue(){var ofrm1 = document.getElementById("frame1").document; if (ofrm1==undefined) { ofrm1 = document.getElementById("frame1").contentWindow.document; var ff = ofrm1.getElementById("txt1").value; alert("firefox/chrome取值結果為:" + ff); } else { var ie = document.frames["frame1"].document.getElementById("txt1").value; alert("ie取值結果為:" + ie); } }</script>
iframe頁面代碼:
<html><head> <title>架構內頁</title></head><body> <div> <input id="txt1" name="txt1" type="text" value="歡迎訪問www.bkjia.com" /> </div></body></html>