for循环for querySelectorALL

时间:2017-10-22 19:27:55

标签: javascript

我试图将输入文本字段的值放入我的'数据'数组中,我不确定我做错了什么。当我在for循环中执行console.log(input)时,会出现我在文本字段中输入的值。但是当我console.log(data)时,它只显示为{text : ""}

            var inputText = document.querySelectorAll("input[type='text']");
            var input = "";

            for(var index = 0; index < inputText.length; index++){
                input = inputText[index].value;
                //console.log(input);
            }

            var data = {'text' : input};

            //console.log(data); 

2 个答案:

答案 0 :(得分:1)

你可以使用array push function试试这个:

&#13;
&#13;
            var inputText = document.querySelectorAll("input[type='text']");
            var data = [];
     
            for(var index = 0; index < inputText.length; index++){
                data.push(inputText[index].value);
            }

            
            console.log(data);
&#13;
<input type="text" name="test" value="test" />
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

querySelectorAll适用于多个元素,querySelector适用于单个元素。要获取特定元素,通常的做法是分配唯一id(其他元素不应使用相同的id):

var input1 = document.getElementById("input1")

var data = { text: input1.value }

console.log(data)
<input id="input1" value="1">
<input id="input2" value="2">