【发布时间】:2021-05-11 13:40:07
【问题描述】:
我是 JavaScript 和 HTML 的新手,我想在我的网站中附加一些文件。问题是:当我想附加一些文件时,我从视图中选择了它们,但在视图中只显示一个文件而不是我选择的文件列表。
例如,如果我附加 file1、file2 和 file3,它只显示 file1,如下所示:
所以我想得到这个情况:
代码如下:
我写的 JS 来解决这个问题,但它显示了相同的结果(只出现一个文件):
const fileinput = require("./button");
const updateList = () => {
var arrayFiles = document.getElementById("input_issue").files;
for (i = 0; i < arrayFiles.length; i++) {
fileinput.append('<i class="text">arrayFiles[i].name</i>')
}
}
<form id="issueModalFormAttachment" method="POST">
<table>
<tr class="form-group">
<td class="label">{% translate 'Attachments' %}</td>
<td class="field">
<input id="input_issue" name="input_issue[]" type="file" class="file" multiple data-show-upload="true" data-show-caption="true">
</td>
</tr>
</table>
</form>
我不知道它是否有用,因为我对 html 和 js 一无所知,并且其他人编写了整个 HTML 和 JS 代码......但是我的导师给了我解决这个问题的问题
ArrayFiles 应该是我要上传的文件数组。我认为使用 for 循环我可以扫描数组并将文件附加到按钮中。
有人可以帮助我吗?再次为无知表示歉意
编辑:我是这样解决的
const setupInput = () => {
$('#input_issue').change( () => {
let arrayFiles = document.getElementById("input_issue").files;
for(i=1;i<arrayFiles.length;i++){
let t = $('#button_file_upload_issue i.text').text();
$('#button_file_upload_issue i.text').text(t + ', '+ arrayFiles[i].name);
}
})
}
【问题讨论】:
-
添加更多关于您尝试过的内容、遇到的错误等的详细信息,
-
updateList实际在哪里/如何被调用? -
我认为这会有所帮助:stackoverflow.com/questions/18451856/…
-
在处理表单视图的整个行为(标题、描述、一些按钮...)的文件中调用的 updateList。我认为在该文件中调用 updateList() 是个好主意。很难解释,我知道我错过了很多东西和细节,但我从来没有见过 js 和 html...
标签: javascript html