我很难将变量分配给我在HTML表单中收集的数据,以便在Apps脚本中使用。我的当前代码从HTML中收集值,并将数据追加到Google工作表中的一行。我还想做的是将每个表单值赋值给一个变量,这样我就可以发送自动电子邮件等等。
目前为止我所知道的..。
HTML和脚本工作,它从表单中收集值并将它们发送给code.gs。
函数addData在传递值时按预期启动。
表单数据被附加到Google工作表中。
Code.gs记录器“确认接收到的数据”和“接收到的数据”都记录传输的值。
当试图分配var columnA读取:执行失败: TypeError:无法从未定义的属性"0“读取属性时,我会得到一个执行错误。
下面是来自HTML和gs文件的日志以及我正在努力工作的Code.gs脚本.
谢谢你提前..。
console.log:
"20141223“、"CraneJe960303”、“杰夫”、“鹤”、"1231231234“、"jkhj@jkhjk.com”、“123号任何St,AR 11111”、"11111“、"19960303”、“11-完成初中”、“16-获得学士学位”、“L-领导力”、37.*125、-85.*217、22
Code.js Logger.log:
Logger.log([收到的数据: 20141223,CraneJe960303,杰夫,克兰,1231231234,jkhj@jkhjk.com,123 Any St,AR 11111,111,1991 60303,11-完成初中,16-获得学士学位,L-领导力,37.*125,-85.**217,22,[])
function addData(data) {
var ss = SpreadsheetApp.openById('1g5N1******************doOnE').getSheetByName('Sheet1');
ss.appendRow(data);
Logger.log('Confirm received data: ' + data);
Logger.log('Received data: ' + data);
var columnA = data.values[0];
Logger.log('Start data value: ' + columnA);
var columnB = data.values[1];
var etc....发布于 2014-12-23 21:18:45
变量data看起来像是一个数组。通过在数据末尾加上一个点运算符和单词“value”,您将尝试在名为" data“的数组上调用一个方法。但是,数组名称"values“没有JavaScript方法。有一个.valueOf方法。
方法:
属性
如果希望在名为data的数组中索引第一个值,请使用:
data[0]换言之:
var columnA = data[0];如果它不是数组,而是字符串,则可能需要将其转换为数组。
发布于 2014-12-23 21:11:32
您不能读取像data.values这样的值。无论何时将表单值传递给GAS,函数参数都不具有类似于'values'的属性。这些'data'参数将充当json数据。您可以通过您在表单中给定的参数名称(即<input type='text' name='user' value=''> )来访问它。因此,如果将此值传递给GAS,则可以像data['user']一样访问该值。
或者你也可以按下面的方式访问它,
var array = [];
for(var i in data) { // data is a function parameter you have used in your GAS function, addData(data)
arr.push(data[i]);
}这样做之后,您可以使用这个数组array[]来分配列,即
var columnA = arr[0];
Logger.log('Start data value: ' + columnA);
var columnB = arr[1];
...
...https://stackoverflow.com/questions/27627734
复制相似问题