For 循环 - 通过 Id 获取元素

时间:2021-05-31 16:27:33

标签: javascript google-apps-script

我正在尝试创建一个与下面的代码等效的 for 循环,这样我就不必每次都将其全部输入。

var q1 = document.getElementById("q1").value;
var q2 = document.getElementById("q2").value;
var q3 = document.getElementById("q3").value;
var q4 = document.getElementById("q4").value;
var q5 = document.getElementById("q5").value;
google.script.run.AddRecord(q1, q2, q3, q4, q5);

我特别难以在 i=1, 2, .., 5 的地方声明 qi,这样它就不会认为它只是一个单词或数组。我使用字符串连接尝试了不同的东西,但无法让它工作(参见下面的开始循环)。我觉得我错过了一件导致它遇到问题的小东西。我已经看到了有关此问题的不同问题,但无法让它发挥作用。

for(var i=1; i<=5; ++i){
var "q"+i=document.getElementById("q"+i).value;
}

2 个答案:

答案 0 :(得分:2)

您可以为此使用数组。声明一个数组并使用 i 作为索引在数组中插入值。

var markers = [];

for(var i=1; i<=5; ++i){
  markers[i] = document.getElementById("q"+i).value;
}

答案 1 :(得分:2)

您可以将值推送到数组中,然后使用 spread operator 将它们传递给 google.script.run.AddRecord

const elements = [];
for (let i = 1; i <= 5; i++) {
    elements.push(document.getElementById(`q${i}`).value);
}

google.script.run.AddRecord(...elements);