Javascript 如何使用变量名访问表单值?
我制作了一个脚本,在谷歌电子表格中生成一个表单,获取其输入值并将其附加到当前工作表中。在我尝试访问具有变量名的输入值之前,所有这些都可以正常工作 我目前的重点是尝试将输入输入到“价格”字段中,我创建的字段名为“vPrice”+(I+1),其中I是之前在“变体数量”numVar中输入的数字 在varItemAdd()中,我可以单独访问值(vPrice1、vPrice2等),它们生成正确的值。我也可以访问numVar值,但当我尝试增量调整vPrice变量以生成电子表格上的每个值时,它显示为“未定义” 脚本:Javascript 如何使用变量名访问表单值?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我制作了一个脚本,在谷歌电子表格中生成一个表单,获取其输入值并将其附加到当前工作表中。在我尝试访问具有变量名的输入值之前,所有这些都可以正常工作 我目前的重点是尝试将输入输入到“价格”字段中,我创建的字段名为“vPrice”+(I+1),其中I是之前在“变体数量”numVar中输入的数字 在varItemAdd()中,我可以单独访问值(vPrice1、vPrice2等),它们生成正确的值。我也可以访问numVar值,但当我尝试增量调整vPrice变量以生成电子表格上的每个值时,它显示为“未定义”
function varItemAdd(form) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var number = form.numVar;
var attribNumber = form.numAttr;
sheet.appendRow([form.manufacturer, number, attribNumber]);
for (i=0;i<number;i++) {
var vPrice = "vPrice" + (i + 1);
var vPriceInput = form.vPrice;
sheet.appendRow([vPriceInput, number, attribNumber]);
}
return true;
}
函数变量添加(表单){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getActiveSheet();
变量编号=form.numVar;
var attribNumber=form.numAttr;
表.附录行([表格.制造商,编号,属性编号]);
对于(i=0;i
变更数量:
添加
函数addFields(){
//获取要创建的变量输入数
var number=document.getElementById(“numVar”).value;
//获取要创建的属性输入数
var attribNumber=document.getElementById(“numAttr”).value;
//获取将放置动态内容的容器
var varBoxes=document.getElementById(“varBoxes”);
var attBoxes=document.getElementById(“attBoxes”);
//清除容器以前的内容
while(varbox.hasChildNodes()){
varbox.removeChild(varbox.lastChild);
}
while(attbox.hasChildNodes()){
attBoxes.removeChild(attBoxes.lastChild);
}
appendChild(document.createTextNode(“属性名”);
//对于每个属性,在每个变体内附加一个输入框
对于(k=0;k只需替换脚本中的下面一行,您就可以访问每个price元素的值
来自:
var vPriceInput = form.vPrice;
var vPriceInput = form[vPrice];
至:
var vPriceInput = form.vPrice;
var vPriceInput = form[vPrice];
太好了,谢谢!我不知道不能在变量上使用点运算符。