繁体   English   中英

数组的内容显示为[object HTMLInputElement],我不需要

[英]Contents of array display as [object HTMLInputElement], which I do not want

因此,此功能应该从表单中获取要检查的蛋糕:

function whichCakesAreChecked() {
    var cake = document.forms[0];
    var cakesChecked = [];
    for (var i = 0; i < cake.length; i++) {
        if (cake[i].checked) {
            cakesChecked.push(cake[i]);
        }
    }
    return cakesChecked.toString();
}

我还有另一个函数,该函数获取whichCakesAreChecked()的输出,并通过giantArray.push(whichCakesAreChecked)将其推入数组。 当我尝试打印数组时,whichCakesAreChecked()不会返回已检查的蛋糕,而是类似"[object HTMLInputElement],[object HTMLInputElement]"

如何更改代码以实际打印出已检查的蛋糕?

这样有帮助吗? 在这里,我们可以放置复选框名称,而不是放置复选框元素。 将复选框元素放入数组中并调用toString()导致多个[object HTMLInputElement]因为它们是HTMLInputElement类型的对象。

 function myfunction() { var arr = []; var elem1 = document.getElementById('one'); var elem2 = document.getElementById('two'); arr.push(elem1.name); arr.push(elem2.name); console.log(arr.toString()); } myfunction(); 
 <label for='one'>One</label> <input type="checkbox" id="one" checked="checked" name="one" /> <br/> <label for='two'>Two</label> <input type="checkbox" id="two" name="two" /> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM