我目前正在使用第三方軟件表單系統,允許用戶上傳圖像。onChange事件不觸發
我想要實現的是上傳區域的變化是抓住圖像的exif並顯示其信息的警報。 (該計劃是搶緯度和經度,一旦我能做到這一點。)
我有我的文件準備
$.getScript('http://WIN-VEQPNOG6JPR/Forms/js/exif.js', function() {
document.getElementsByClassName("uploadArea").onchange = function(e) {
EXIF.getData(e.target.files[0], function() {
alert(EXIF.pretty(this));
});
}
});
所生成的形式結構看起來低於內部電流JS。我的第一個猜測是,我在表單創建者中定義的區域是錯誤的,或者我只是沒有找到它。該文件是在tr類文件中,然後是另一個td,但我試圖命名這整個部分的uploadArea。
時上傳的圖片看起來像"<a class="ellipsis" title="img_1771.jpg">img_1771.jpg</a>"
任何想法?
錯誤消息:
Uncaught TypeError: Cannot read property 'exifdata' of undefined
at imageHasData (exif.js?_=1496235241982:339)
at Function.EXIF.getData (exif.js?_=1496235241982:936)
at HTMLLIElement.document.getElementsByClassName.onchange (0:192)
嘗試將'getElementsByClassName(「uploadArea」)。onchange ...'更改爲'getElementsByClassName(「uploadArea」)[0] .onchange ...'因爲'getElementsByClassName'返回數組。 – abhishekkannojia
@abhishekkannojia'getElementsByClassName'返回的NodeList不是數組 – NightKn8
@ NightKn8是的,你是對的,NodeList是一個類似於結構的數組。爲了簡單起見,我只寫了數組。 – abhishekkannojia