2014-11-24 75 views
0

我有問題,當我上傳與jQuery動態添加字段:不工作「前面加上」 HTML5圖片上傳預覽(DOM)

$('.content div').prepend(
    '<div' 
     + '<input type="file" id="fileselect" name="fileselect[]" multiple>' 
     + '<div id="messages"></div>' 
    + '</div>' 
); 

格#messages顯示圖像預覽和輸入上傳圖片,上傳之前,我可以在#消息框中顯示圖像。

當我補充一點:

<input type="file" id="fileselect" name="fileselect[]" multiple> 
<div id="messages"></div> 
在HTML

,所有的工作,但jQuery的不工作:( 我使用HTML5節目上傳腳本之前:http://blogs.sitepointstatic.com/examples/tech/filedrag/2/index.html http://blogs.sitepointstatic.com/examples/tech/filedrag/2/filedrag.js

如何編輯此插件與dom一起工作?

+0

您需要添加'addEventListener'調用到新創建的元素,或者使用委派事件。 – 2014-11-24 10:08:06

+0

你的文件上傳概念在哪裏?我們需要的代碼 – 2014-11-24 10:08:34

+0

我現在不上傳圖片,我想創建圖片預覽;) – user3501587 2014-11-24 10:10:35

回答

1

更新:主要問題是,在DOM中準備好文件輸入字段之前,已經加載了filedrag.js腳本。 ript異步加載,隨後的調用工作。

試試這個:

$("#fileselect").change(function() { 
    var imgStr = "<img src='"+$(this).val()+"'/>"; 
    $("#messages").html(imgStr); 
}); 
+0

在哪裏我可以使用這個?這個插件使用普通的js – user3501587 2014-11-24 10:22:26

+0

在你的'prepend()'語句結束後調用這個函數。 – ArinCool 2014-11-24 10:24:37

+0

無法正常工作,在控制檯上返回: 未捕獲TypeError:無法讀取屬性'addEventListener'爲空 不允許加載本地資源:file:/// C:/fakepath/wallpaper.jpg如果您發現錯誤,則爲: – user3501587 2014-11-24 10:31:26