2016-09-20 5 views
0

私にはテーブルがあります。各行には1つの画像アップロード用のセルがあります。私はプレビューを表示したい。それは私にエラーを与えて実行している間アップロード前のプレビュー画像

var cell8 = row.insertCell(6); 
var t8 = document.createElement("input"); 
t8.type = "file"; 
t8.id = "img" + index; 
t8.name = "img" + index; 

var a = document.getElementById('blah_img' + index + ''); 
a.src = window.URL.createObjectURL(this.files[0]); 
t8.onchange = a.src; 
cell8.appendChild(t8); 

var oImg = document.createElement("img"); 
oImg.setAttribute('src', 'noimg.png'); 
oImg.setAttribute('alt', 'your image'); 
oImg.setAttribute('height', '100'); 
oImg.setAttribute('width', '100'); 
oImg.id = "blah_img" + index; 
cell8.appendChild(oImg); 

:このために私は以下のコードを書いた

Uncaught TypeError: Cannot read property '0' of undefined.

は私のコードで何が悪いのでしょうか?助けてください。

+0

どのラインがそのエラーを与えていますか? –

+0

window.URL.createObjectURL(this.files [0]) – Rose

+1

「this」は何かを指すことを意図していますか? 't8.files [0]'を試してください –

答えて

0

おそらくthis.filesundefinedです。したがって、エラーが発生しています。 代わりthis.files[0]の、t8.files[0]

Chobiは、私はそのようなことを容易にするために設計されている純粋なJavaScriptで実装され、画像処理ライブラリでみてください。あなたもそれをチェックすることができます

+0

これはOPの問題とは無関係で、境界線の自己宣伝スパムです。 –

+0

答えを編集しました –

+0

これをt8に変更すると、 'Uncaught TypeError:' URL 'で' createObjectURL 'を実行できませんでした:署名に一致する関数が見つかりませんでした。' – Rose

関連する問題