使用文件上传最大大小事件的代码转换为简单代码

uneeb meer

我是jquery / javascript的新手,现在我有一个表单,用户可以在其中上传多个文件,这工作得很好,但是我需要对其进行更改,这是工作代码。

$('#userFiles').change(function() {
  var combinedSize = 0;
  for (var i = 0; i < this.files.length; i++) {
    combinedSize += (this.files[i].size || this.files[i].fileSize);
  }
  if (combinedSize > 104857600) {
    toastr["error"]("Max upload size is 100MB");
  }
});

的HTML

<input type="file" class="form-control" id="userFiles" name="userFiles[]" multiple/>

现在,我想做的是在提交检查之前,如果集合文件的大小大于100(如果是),则停止提交表单,并显示一个错误,您不能上传超过100MB的错误,因为这是更新的代码。

$("form").on("submit", function(e) {
  e.preventDefault();

  $('#userFiles').change(function() {
    var combinedSize = 0;
    for (var i = 0; i < this.files.length; i++) {
      combinedSize += (this.files[i].size || this.files[i].fileSize);
    }
    if (combinedSize > 104857600) {
      toastr["error"]("Max upload size is 100MB");
    }
  });
});

我的问题是,它使用功能是因为它是表单提交时输入更改的事件,我无法在其中使用其他事件,我希望逻辑仅在表单提交上起作用,我如何用userFile id属性替换我尝试了几种方法,但是没有用。

塔普拉

function validateMaxFileSize() {
  //get the files off of the element
  var files = $('#userFiles').prop('files');
  var combinedSize = 0;

  for (var i = 0; i < files.length; i++) {
    combinedSize += (files[i].size || files[i].fileSize);
  }
  //return true if the max is exceeded
  return (combinedSize > 104857600);
}

$('#userFiles').change(function() {
  //if the max is exceeded, show toaster
  if (validateMaxFileSize()) {
    toastr["error"]("Max upload size is 100MB");
  }
});

$("form").on("submit", function(e) {
  //if the max is exceeded, cancel the submit
  if (validateMaxFileSize()) {
    e.preventDefault();
    toastr["error"]("Max upload size is 100MB");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" class="form-control" id="userFiles" name="userFiles[]" multiple/>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Dropzone超出最大文件大小事件

使用Tomcat在Spring中上传文件与允许的最大大小有关

如何验证文件上传的最大大小500KB

如何更改上传的Java Post文件的最大大小

简单的代码快速转换为reactswift

初始大小与最大大小页面文件

Wicket 文件上传导致大于最大大小的文件的 ajax 错误

将简单的 IDL 参数代码转换为 python 代码

如何将普通的 javascript 代码转换为使用事件处理的角度组件特定代码

发布文件上传的最大大小-是否可以通过HTML进行设置?

我们可以在 FastAPI 中接收的上传文件的最大大小是多少?

-1103错误域= NSURLErrorDomain代码= -1103“资源超出最大大小” iOS 13

在C ++代码中将size_t变量与-1(最大大小值)进行比较

Firestore中文件的最大大小?

WebImage的最大大小,允许的文件格式等

使用Base64上传图像的Struts2操作表单数据最大大小

使用gl.uniform1fv上传的数组的最大大小是多少?

如何使用Golang代码上传文件

使用代码接收测试文件上传

如何将这个简单的python代码转换为javascript?

将简单的C#语句转换为伪代码

如何将简单的 Excel LOOKUP 转换为 R 代码?

为什么与at()或索引相比,使用C ++迭代器会大大增加代码大小?

使用SwiftUI观察窗口调整大小事件

ArrayField最大大小?

调整textarea的大小事件?

窗口调整大小事件?

使用Ada.Streams.Stream_IO.Read的流式文件的最大大小/偏移

可以使用Import-Csv处理的csv文件的最大大小