2012-03-22 35 views
0

我試圖上傳文件低谷iframe中。讀iframe中的內容後提交表單中的iframe

我以這種方式創建的iframe:

<iframe frameBorder="0" height="50px" width="100%" id="iframe-upload"/> 

在這之後我的iframe追加到DOM:

$('#iframe-upload').contents().find('body').append('<form method="post" action="admin/images/upload" enctype="multipart/form-data" id="form-upload-image"><input name="data[image]" type="file" id="image-upload" /><input type="button" id="btn"></form>').appendTo("#formupload"); 

提交我的行爲是這樣的:

$("#iframe-upload").contents().find('#btn').bind('click', function(){ 
    $("#iframe-upload").contents().find('#form-upload-image').submit() 

}) 

現在,我無法弄清楚當我打電話:

console.log($("#iframe-upload").contents()); 

獲取內容。

問題是我的內容()請求和iframe刷新,其實jQuery的先行和IFRAME刷新之後之間的同步。這樣我就無法達到真正的迴應。

p.s. (),(),改變()con幀的內容,但所有這些事件只會觸發一次(當我提交表單之前選擇文件),所以都沒用

謝謝你的建議

回答

0

您應該能夠提交表單之前搶來自iframe的內容。爲了達到這個目的,你可以將一個函數綁定到窗體的onSubmit事件上。

$('#form-upload-image').bind('submit', function (event) { 
    event.preventDefault(); 

    console.log($("#iframe-upload").contents()); 

    this.submit(); 
}); 

或可能

$('#form-upload-image').submit(function() { 
    console.log($("#iframe-upload").contents()); 
}); 

這只是從我的頭頂。

+0

我必須抓取iframe之後的內容重新加載否BEFORE :) – misfotto 2012-03-22 16:41:56

0

檢查的iframe後的內容被加載。

$('#iframe').load(function() { 
    $(this).contents(); 
});