0
我正在處理某些問題,並且問題得到了解答,但我需要爲此使用其他方法。 我有一個如何工作的jsFiddle。 http://jsfiddle.net/TbZzH/4/輸入類型文件沒有正確地將圖像放入圖像標籤
這是很好,很花哨,但是當我在我的代碼中這樣做,它會告訴我,data.files [0]不起作用,並且被認爲是未定義的。它也不識別FileReader()對象。
我的代碼如下,使用jsFiddle作爲我工作的例子。
$(function(){
$("input[type='file'].attribute").on("change", function() { updateDesigner(this); });
});
function updateDesigner(input){
var t = input;
if ($(input).attr("type") == 'file'){
try{
var data = $(t)[0];
var file = data.files[0]; //<------ FAILS HERE. .files is an undefined attr.
var reader = new FileReader(); //<--- working around it, doesnt understand this object as well
reader.onload = function (e) {
value = e.target.result;
}
reader.readAsDataURL(file);
}catch(errrrr){
alert("error putting image into image tag: "+errrrr.toString());
}
}
srcFunction(value); //takes the value and applied it to the src attr of the image tag.
}
我想將數據轉換爲值,一切都會平穩運行,但我不確定發生了什麼。
只需使用'input.files [0]'。我不知道$(t)[0]應該做什麼? – Gerben
是的,我試過了,那也不管用。它表示文件未定義等。「無法獲取屬性0的值,它爲空或未定義」,因爲文件似乎是未定義的。 – Fallenreaper
哦,一個大問題:我在IE中運行。我在看Object.keys($(input)[0])和.... IE不識別它們的螞蟻,只真的返回一個jqueryobjectreference字符串。在GoogleChrome中運行它包含所有對象並解決此錯誤。啊。瀏覽器特定的bs很煩人 – Fallenreaper