应用脚本 - 用逗号分隔谷歌表单复选框答案

时间:2015-03-17 17:15:16

标签: javascript google-apps-script google-sheets google-form

Google表单复选框问题将选定的回复组合到一个以逗号分隔的列中。我正在尝试发送这些回复的确认电子邮件,但电子邮件会以clunk格式显示:

注册:上午9:15 - 上午10:00教学技术工具&资源(电子实验室笔记本,课堂技术,分析等),上午10:10 - 11:00 AM翻转或混合(混合)课程的工具(学习玻璃,教学设计,泰德,播客等)

我想用<br>替换逗号分隔符,但无法弄明白。

我试过了:

register = e.namedValues[headers[4]].split(',');


register = e.namedValues[headers[4]];
workshops = register.replace(",", "<br>");

任何帮助将不胜感激!谢谢!

for (var i in headers) {
  ....... ....... 
  register = e.namedValues[headers[4]];
} 

if (e.namedValues[headers[i]].toString() != "" ) {
  textbody = ....... + register + "<br>"
}

1 个答案:

答案 0 :(得分:0)

应该是这样的结构:

for (var i in headers) {
  ....... ....... 
  register = e.namedValues[headers[i]].toString();

  if (register != "" ) {
    textbody = register.replace(/,/g, "<br>");
  }
}

在将数组转换为字符串后,您需要执行全局替换。

function replaceCommas() {
  var headers = ['First Name', 'Timestamp', 'Last Name', 'workshops'];
  var register = {'First Name': ['Jane', 'Jon', 'Jim', 'Josie'], 'Timestamp': ['6/7/2015 20:54:13'], 'Last Name': ['Doe'], 'workshops': ['learning glass', 'instructional design', 'Ted', 'podcast']};

  //register = e.namedValues[headers[4]].split(',');

  var keyName = headers[3]; //Arrays are Zero indexed, fourth item is index 3
  Logger.log('keyName is: ' + keyName);

  var stringOfValues = register[keyName].toString();
  Logger.log('stringOfValues: ' + stringOfValues);

  var workshops = stringOfValues.replace(/,/g, "<br>");

  Logger.log('workshops: ' + workshops);
}

将上述函数复制到脚本编辑器中,在第一个Logger.log()语句之类的内容上设置断点,然后逐步进入每一行。您可以在屏幕底部的调试窗口中查看变量的所有值。

要设置断点,请单击行号,将出现一个红点,代码将停止。然后单击错误的图标。代码将运行到断点。

以下是调试文档的链接:

Google Documentation - Troubleshooting