输入文件上传成功?

时间:2014-02-11 09:38:02

标签: javascript jquery file form-submit

我有一个非常复杂的表单,有一个“文件”输入,例如:

<input type="file" />

是否可以使用JS触发某种“上传成功”,因此在用户上传文件后,整个表单会自行提交?

2 个答案:

答案 0 :(得分:3)

您可以异步上传文件(如果您希望上传多个文件)。 例如:

<input type="file" class="js-file-upload" multiple>

创建输入标签后,您可以收听更改事件

$(".js-file-upload").on("change", function(e){
 var files = e.target.files;
 // your own logic to filter files etc.
 // upload your file
});

毕竟这可以听取上传完成事件(例如在加载所有文件后提交)。 Javascript XMLHttpRequest对象提供两个事件: upload.progress 加载。所以使用它))

我的项目中的伪代码:

file.on("upload.progress", function(e){
  //value show progress
  var value = Math.floor(e.loaded / e.total * 100);
});
file.on("load", function(response){ //logic });

答案 1 :(得分:-2)

为此,我建议jQuery File Uploaddone回调通知客户端文件已成功上传。然后您就可以提交相应的表格。还有许多有用的回调(例如故障回调)。