gpt4 book ai didi

javascript - 使用 JavaScript 从 html 复选框接收信息

转载 作者:太空宇宙 更新时间:2023-11-04 07:31:20 25 4
gpt4 key购买 nike

所以 scrip 从 node.js 函数接收一组文件名并创建一个 list 。效果很好。但它应该用选定的文件名创建一个新数组并将其解析回新函数。但是被填充的数组是由函数输入的,而不是实际的文件名。

使用的语言和包:Html、css、Javascript、node.js 和 electronjs

脚本的外观:

<script>
const scan = require('../src/scan.js');
const merge = require('../src/merge.js');
scan.filesscan('tests', files => {
files.forEach(file => {
document.getElementById('list').innerHTML +=
'<input type="checkbox" name="mycheckboxes">' + file + '<br>';
});
});

function next(){
var checkedBoxes = document.querySelectorAll('input[name=mycheckboxes]:checked');
alert(checkedBoxes);
merge.fileMerge(checkedBoxes);
location.href = 'test.html';
}


</script>

来自 scan.js 的输入 {'a.txt','b.txt','c.txt'}

来自所选元素的预期数组{'a.txt','c.txt'}

最佳答案

好吧,JavaScript 正在满足您的要求:

var checkedBoxes = document.querySelectorAll('input[...');

querySelectorAll 返回 HTMLInputElementNodeList(在本例中)。

如果您想要实际的文件名,最简单的方法是为每个 checkboxvalue 属性设置文件名:

files.forEach(file => {
document.getElementById('list').innerHTML +=
'<input type="checkbox" name="mycheckboxes" value="' + file + '">' +
file + '<br>';
});

然后您可以获得文件名(在next 函数中):

var checkedBoxes = document.querySelectorAll('input[name=mycheckboxes]:checked');
var files = [];
for (var i = 0; i < checkedBoxes.length; i++) {
files.push(checkedBoxes[i].value);
}

不,您不能将 forEachNodeList 类型的变量一起使用,因为它不是数组,而是类数组对象。

关于javascript - 使用 JavaScript 从 html 复选框接收信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49368339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com