动态的添加文件上传框、删除及上传
时间: 2023-08-04 20:03:53 浏览: 42
要实现动态添加文件上传框、删除及上传,可以使用JavaScript和HTML来实现。
首先,在HTML页面中创建一个容器,用于存放上传框和上传按钮:
```html
<div id="file-upload-container">
<input type="file" name="file[]" multiple>
<button onclick="addFileUpload()">Add More</button>
<button onclick="removeFileUpload()">Remove</button>
<button onclick="uploadFiles()">Upload</button>
</div>
```
其中,第一个输入框是用于选择文件的,`name`属性设置为`file[]`,表示上传多个文件。后面的三个按钮分别是添加、删除和上传按钮。
接下来,在JavaScript中实现添加、删除和上传功能:
```javascript
var fileUploadCount = 1;
function addFileUpload() {
fileUploadCount++;
var input = document.createElement("input");
input.type = "file";
input.name = "file[]";
document.getElementById("file-upload-container").appendChild(input);
}
function removeFileUpload() {
if (fileUploadCount > 1) {
fileUploadCount--;
var container = document.getElementById("file-upload-container");
container.removeChild(container.lastChild);
}
}
function uploadFiles() {
var formData = new FormData();
var files = document.getElementsByName("file[]");
for (var i = 0; i < files.length; i++) {
formData.append("file[]", files[i].files[0]);
}
// 发送formData到服务器进行处理
// ...
}
```
其中,`fileUploadCount`表示当前上传框的数量,初始值为1。`addFileUpload()`函数用于添加上传框,每次调用将`fileUploadCount`加1,并创建一个新的上传框,设置其`name`属性为`file[]`,并将其添加到容器中。`removeFileUpload()`函数用于删除上传框,如果当前上传框数量大于1,则将`fileUploadCount`减1,并删除最后一个上传框。`uploadFiles()`函数用于上传文件,首先创建一个`FormData`对象,然后将所有上传框中选中的文件添加到`FormData`中,最后将`FormData`发送到服务器进行处理。
这样就实现了动态添加文件上传框、删除及上传的功能。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)