2011-09-02 35 views
0

我正在創建一個頁面來上傳圖像,而無需使用iframe刷新頁面。我想要做的是通過iframe上傳表單並將結果用於條件任務。 我嘗試以下方法:從iframe讀取數據以使用數據進行有條件判斷

<iframe id="iframe" name="iframe">Inner code here, form and all inputs. </iframe> 
<script> 
data=document.getElementById("iframe").innerHTML; 
</script> 

但作爲I幀,只有源物業工作這不工作。 然後,我嘗試使用窗口屬性獲取iframe的主體。

data=window.frames['iframe'].document.body.innerHTML; 

但是這也行不通。幫幫我。提前致謝。

回答

1

我並不完全清楚你想要做什麼,所以我只列出我所看到的與你發佈的代碼有關的潛在問題。

  • 當使用iframe標記時,開始和結束標記之間的任何文本僅顯示在不支持iframe的瀏覽器中。 iframe的內容是從分配給iframe元素的src屬性的url加載的。
  • 爲了獲取包含iframe內容的文檔,您必須作爲IFrame對象訪問iframe元素,而不是Window對象。爲此,您必須使用document.getElementById()(如您在第一個代碼段中所做的那樣);您不能使用window.frames[]陣列。
  • 在您的第二個代碼片段中,您嘗試通過使用框架的名稱作爲索引來訪問window.frames[]數組的元素;這是不允許的。您可以在數組中使用數字索引,或者通過將其名稱用作窗口的屬性來訪問框架,例如window.iframe
  • 使用document.getElementById()獲得IFrame對象後,可以使用該對象的contentDocument屬性來獲取包含iframe內容的文檔。使用這個對象,你可以調用getElementById等從iframe中檢索所需的內容。
  • 最後一點:請注意,同源策略支配您從另一窗口或框架訪問iframe屬性的能力。具體而言,iframe源的域必須與包含嘗試訪問iframe屬性的腳本的文檔的域相同。
+0

Thnx的幫助......但我得到了我的答案。 – Sourabh

相關問題