简体   繁体   English

未捕获ReferenceError:未定义onchange函数

[英]Uncaught ReferenceError: onchange function is not defined

I am trying to upload an image and check whether this is a valid image with a Javascript function. 我正在尝试上传图片,并使用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> 

The function validateImage() is not called and the next message is displayed: 未调用功能validateImage(),并显示下一条消息:

Uncaught ReferenceError: validateImage is not defined at HTMLInputElement.onchange 未捕获的ReferenceError:在HTMLInputElement.onchange上未定义validateImage

Any idea? 任何想法?

You have no element with id="img" . 您没有id="img"元素。 Add the id or choose a different method to select the file input in your JS code. 添加ID或选择其他方法来选择JS代码中输入的文件。

 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> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM