如何防止上传按钮选择特定大小和类型的文件?

时间:2019-01-16 01:13:49

标签: javascript jquery html dom

我试图阻止用户选择超过50kB的文件。如果用户选择了一个文件,则js函数将进行验证,并将上载函数的值设置为0。但是,当函数完成时,值的更改不会反映在HTML元素上。

我已经浏览过很多Stack Overflow帖子,其中大多数人说将上传文件的值设置为“ null”或“ 0”,这似乎对我不起作用。

      <p>Hello World</p>
      <button>Change color</button>
      <br><br>
      <input type="file" id="myFile" />
   </div>

第1-6行/file.html

var banner = $("#banner-message")
var button = $("button")

// handle click and add class
button.on("click", function(){
  banner.addClass("alt")
})



$('#myFile').bind('change', function() {

    b = this.value;
    a = this.files[0].size/1024;
    fileName = this.files[0];
    //this.files[0].size gets the size of your file.
    //alert(a);
    alert(b);

    if(a > 50){
      alert(fileName.name);
      alert("Greater than 50Kb");
      //alert(c);
      b = null;
      alert(b);
    } else {
      alert("Lesser than 50Kb");
    }

alert(b);
});

第10-41行/validate.js

我想发生的是,当函数运行并进行验证时,应该删除HTML元素的值,并且应该向我显示一个没有值的新HTML元素,如果没有,则显示“未选择文件”满足条件。请帮忙,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

似乎您只是将变量b的值从this.value更改为null。尝试使用think {123}建议的this.value = null