【问题标题】:Receiving information from a html checkbox with JavaScript使用 JavaScript 从 html 复选框接收信息
【发布时间】:2018-08-28 07:55:37
【问题描述】:

因此,脚本从 node.js 函数接收文件名数组并创建一个清单。效果很好。但它应该使用选定的文件名创建一个新数组并将其解析回一个新函数。 但是填充的数组是函数的输入,而不是实际的文件名。

使用的语言和包: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 html css node.js electron


    【解决方案1】:

    好吧,JavaScript 可以满足您的要求:

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

    querySelectorAll 返回 NodeListHTMLInputElement(在这种情况下)。

    如果您想要实际的文件名,最简单的方法是为每个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 类型的变量一起使用,因为它不是一个数组,而是一个类似数组的对象。

    【讨论】:

    • 谢谢伙计,当我回到家时,我意识到我遗漏了这个值,不知道它作为一个节点列表输出而不是一个数组列表,谢谢。
    猜你喜欢
    • 2021-11-25
    • 2020-10-08
    • 1970-01-01
    • 2012-11-30
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    相关资源
    最近更新 更多