onChange事件未触发

时间:2017-05-31 11:53:44

标签: javascript jquery exif-js

我目前在第三方软件表单系统中工作,允许用户上传图像。

我想要实现的目标是上传区域更改是抓取图像的exif并显示其信息的警报。 (计划是在我能做到的时候抓住拉特和lng。)

我的文档准备好了当前的JS

  $.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));
      });
      }
   });

生成表单的结构如下所示。我的第一个猜测是,我在表单创建者中定义的区域是错误的,或者我只是没有找到它。该文件位于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)

1 个答案:

答案 0 :(得分:0)

试试这个: document.getElementsByClassName("uploadArea")[0].onchange = function(e) {

或者 使用Id作为选择器。