2012-03-19 105 views
2

我正在使用jQuery/php使用表單的目標屬性進行文件上傳異步。目標是我的名爲「上傳」的iframe;要管理php文件中的錯誤,我會返回字符串,如「ERR_TOO_LARGE_FILE」,其中的回聲將位於iframe正文中。當iframe內容準備好時從父頁面訪問iframe內容

問題是我不知道如何檢測iframe何時準備就緒並訪問其內容以查看是否有錯誤。我試了下面的代碼,但它不起作用:

$("#uploads").on("load", function() { 
    alert($(this).html()); 
}); 

確實出現了一個警告框,但沒有任何內容。我也嘗試使用ready事件,但是這次沒有出現。

想知道一種方法來實現這個或一個替代解決方案,如果你有一個更好的。

+0

它是否是跨站點? – jackJoe 2012-03-19 14:20:56

+0

不,它指的是我上傳表單文件的一個php文件。 – maniak 2012-03-19 14:23:20

+2

從內部iframe你可以只是做'top.myFunction()'將觸發任何你希望和當頁面完全加載時,你可以使用jQuery的就緒功能:) – Val 2012-03-19 14:24:36

回答

4

因爲你不允許修改iframe的內容,至少你不會想到,你不能用jquery直接訪問它。使用.contents() & .find()從iframe獲取html,以便您可以獲取所需的信息。

所以,

$("#uploads").on("load", function() { 
    alert($(this).contents().find('html').html()); 
}); 

應返回的HTML內容在iframe。如果你知道你正在尋找的特定元素,你可以換出標籤id的'html'。

+0

謝謝,它正在工作! – maniak 2012-03-19 14:46:13