如何创建下拉菜单,显示目录HTML5 Javascript中的所有文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何创建下拉菜单,显示目录HTML5 Javascript中的所有文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2302字,纯文字阅读大概需要4分钟。
内容图文
![如何创建下拉菜单,显示目录HTML5 Javascript中的所有文件](/upload/InfoBanner/zyjiaocheng/774/a4cacab242a8475ba8adc26d74bd249a.jpg)
我想创建一个下拉菜单并显示当前目录中的所有文件,因此当用户单击该文件列表中的项目时,它会打印到控制台中该文件的名称.
这是我到目前为止所提出的:
<form method="post">
<select name="DropdownList">
<option value="file1">fileArray[0]</option>
<option value="file2">fileArray[1]</option>
<option value="file3">fileArray[2]</option>
<option value="file4">fileArray[3]</option>
</select>
</form>
如果有10个文件而不是4个文件,那么硬编码的问题是什么?试图找出一种更有活力的方法.
使用Javascript
document.getElementByName('DropdownList').addEventListener('click', function() {
window.update.forEach(function(d, 'data/baselinedata') {
var f = readStringFromFileAtPath(d);
console.log(f)
});
});
function readStringFromFileAtPath (pathOfFileToReadFrom) {
var request = new XMLHttpRequest();
request.open("GET", pathOfFileToReadFrom, false);
request.send(null);
var returnValue = request.responseText;
return returnValue;
}
我想我只是不知道如何使其成为动态而不是硬编码列表中的名称.我有点像网络编程的菜鸟
编辑:
为了清楚起见,我想要做的就是使用目录中的文件名填充下拉列表.因此,当用户单击该列表中的项目时,它将打印或记录(通过console.log())该文件的内容.
解决方法:
您可以使用< input type =“file”>具有多个属性集的元素,创建两个包含File对象的数组和FileReader.readAsText()的结果,并且File对象在input type =“file”元素的change事件处迭代FileList对象,以设置.name at< option> element .textConten,.value to upload of upload File追加到< select>元素,设置.value< textarea>元素到选定的选项,它对应于File的索引作为数组中的文本
<input type="file" multiple><br>
<select></select><br>
<textarea></textarea>
<script>
const [input, select, textarea, reader] = [
document.querySelector("input[type=file]")
, document.querySelector("select")
, document.querySelector("textarea")
, new FileReader
];
let [files, data, fn] = [
[],
[], (file, reader) => new Promise((resolve, reject) => {
reader.onload = () => {
reader.onload = reader.onerror = null;
resolve(reader.result);
}
reader.onerror = reject;
reader.readAsText(file);
})
];
input.onchange = async() => {
select.innerHTML = "";
files.length = data.length = 0;
for (const file of input.files) {
const {
name
} = file;
const option = new Option(name, files.length);
files.push(file);
select.appendChild(option);
let result = await fn(file, reader);
data.push(result);
}
}
select.onchange = () => {
textarea.value = data[select.value];
}
</script>
内容总结
以上是互联网集市为您收集整理的如何创建下拉菜单,显示目录HTML5 Javascript中的所有文件全部内容,希望文章能够帮你解决如何创建下拉菜单,显示目录HTML5 Javascript中的所有文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。