2013-01-15 84 views
2

我需要在動態生成的字符串中的iframe中顯示圖像。 iframe的ID是upload_target使用jquery在iframe中加載圖像

這是我使用

// assign esrc and upath 
$.ajax 
({ type: "POST", 
    url: "editImage.php", 
    data: {esrc: editsource, upath: upath } , 
    success: function(esource) 
    { //load into iframe 
     s = esource; 
     console.log(s); 
     $('#upload_target').contents().find('body').html(s); 
    } 
}); 

文件editImage.php簡單地返回正確的文件名中的代碼。控制檯顯示正確的文件名,所以我知道那裏沒有問題。但是iframe沒有任何事情發生,它只是保持空白。我能夠用另一個事件填充相同的iframe,即提交一個表格,其target就是這個iframe。但爲什麼它不在這裏工作?

我也試過$('#upload_target').attr('src',s),但是我得到了一個406錯誤。

回答

0

最後,我只是砍死一個瘋狂的修復。我不知道這是否合理,但它的工作原理。 而不是使用ajax,我只是創建了一個隱藏輸入的表單,它保存了我需要傳遞給editImage.php並提交該表單的值。然後iframe加載圖像。

$('#imgdialog').append("<form id='imageeditform' method='post' action='editImage.php' target='upload_target'><input type='hidden' name='esrc' value='"+editsource+"' /><input type='hidden' name='upath' value='"+$('#upath').val()+"' /></form>"); 
$('#imageeditform').submit(); 
3

嘗試

...find("body").append($("<img/>").attr("src", s).attr("title", "sometitle")); 

我沒有調試代碼,但應該工作。

編輯

此代碼工作正常,我

<iframe id="upload_target"><html><body></body></html></iframe> 

<script type="text/javascript"> 
    $(function() { 
     $('#upload_target').contents().find('body').append($("<img/>").attr("src", "http://www.bing.com/az/hprichbg/rb/NYBirds_ROW10420117938_1366x768.jpg").attr("title", "sometitle")); 
    }); 
</script> 
+0

我試着追加,但沒有區別。 – user961627