Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用变量名访问表单值?_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 如何使用变量名访问表单值?

Javascript 如何使用变量名访问表单值?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我制作了一个脚本,在谷歌电子表格中生成一个表单,获取其输入值并将其附加到当前工作表中。在我尝试访问具有变量名的输入值之前,所有这些都可以正常工作 我目前的重点是尝试将输入输入到“价格”字段中,我创建的字段名为“vPrice”+(I+1),其中I是之前在“变体数量”numVar中输入的数字 在varItemAdd()中,我可以单独访问值(vPrice1、vPrice2等),它们生成正确的值。我也可以访问numVar值,但当我尝试增量调整vPrice变量以生成电子表格上的每个值时,它显示为“未定义”

我制作了一个脚本,在谷歌电子表格中生成一个表单,获取其输入值并将其附加到当前工作表中。在我尝试访问具有变量名的输入值之前,所有这些都可以正常工作

我目前的重点是尝试将输入输入到“价格”字段中,我创建的字段名为“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];

太好了,谢谢!我不知道不能在变量上使用点运算符。