javascript - Uncaught ReferenceError : onchange function is not defined

标签 javascript html

我正在尝试上传图片并检查这是否是具有 Javascript 函数的有效图片。

function validateImage() {
  var formData = new FormData();

  var file = document.getElementById("img").files[0];

  formData.append("Filedata", file);
  var t = file.type.split('/').pop().toLowerCase();
  if (t != "jpeg" && t != "jpg" && t != "png" && t != "bmp" && t != "gif") {
    alert('Please select a valid image file');
    document.getElementById("img").value = '';
    return false;
  }
  if (file.size > 1024000) {
    alert('Max Upload size is 1MB only');
    document.getElementById("img").value = '';
    return false;
  }
  return true;
}
<form action="/upload" method="post" enctype="multipart/form-data">
  Image<input type="file" name="upl" accept="image/*" onchange="validateImage()"><br>
  <input type="submit" value="Submit">
</form>

未调用函数 validateImage() 并显示下一条消息:

未捕获的 ReferenceError:未定义 validateImage 在 HTMLInputElement.onchange

有什么想法吗?

最佳答案

您没有包含 id="img" 的元素。在您的 JS 代码中添加 id 或选择不同的方法来选择文件输入。

function validateImage() {
  console.log("validateImage called");
  var formData = new FormData();

  var file = document.getElementById("img").files[0];

  formData.append("Filedata", file);
  var t = file.type.split('/').pop().toLowerCase();
  if (t != "jpeg" && t != "jpg" && t != "png" && t != "bmp" && t != "gif") {
    alert('Please select a valid image file');
    document.getElementById("img").value = '';
    return false;
  }
  if (file.size > 1024000) {
    alert('Max Upload size is 1MB only');
    document.getElementById("img").value = '';
    return false;
  }
  return true;
}
<form action="/upload" method="post" enctype="multipart/form-data">
  Image<input id="img" type="file" name="upl" accept="image/*" onchange="validateImage()"><br>
  <input type="submit" value="Submit">
</form>

关于javascript - Uncaught ReferenceError : onchange function is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49466979/

相关文章:

javascript - 如何防止提交表单后关闭 Bootstrap 模式?

javascript - 去掉TR下所有的onclick

javascript - 将所选文本从一个文本区域复制到另一个文本区域

html - 文本环绕图像,到一列

javascript - 为什么我的函数中需要有这个 IF 语句?

javascript - 嵌入式谷歌地图 - 如何定位到给定坐标

html - 我想更改我的导航栏字体和颜色

jquery - 无法追加 div 和更改显示模式

html - 表 tr 垂直方向。我能怎么做?

javascript - 无法在 WordPress 主题中居中水平导航