首页 > 解决方案 > 使用 Google 表单填充 Google 文档:当表单中的字段为空时出现标点符号

问题描述

我有一个 Google 表单,用于通过在 Google 文档和 Google 表格中输入姓名、头衔和从属关系来收集签名。但是,除了必填字段的名称之外,标题和隶属关系字段不是必需的。大多数情况下,填写表格的人会有一个标题和从属关系,但如果其中一个字段为空,我希望结果显示没有一个逗号,或者如果两个字段都为空,则没有两个逗号。

例如,如果有人这样填写表格 -Name: Bob; Title: <blank>; Affiliation: <blank>;那么结果将"Bob, ,"在 Google Doc 中。理想情况下,它只会说"Bob".

或者,示例 2:Name: Bob; Title: <blank>; Affiliation: University;那么理想的结果将是"Bob, University"

我对 Google Apps 脚本几乎一无所知,并且稍微编辑了一个模板脚本以满足我的需要。任何帮助是极大的赞赏!

function appendSignatureRow(e){
  
 
  const lock = LockService.getScriptLock();
  lock.waitLock(30000);


  const name = e.values[2]
  const title = e.values[3]
  const affiliation = e.values[4]
  

  const letter = DocumentApp.openById('DOC_ID_IS_HERE');
  const body = letter.getBody();


  const sig = name + ", " + title + ", " + affiliation

  body.appendParagraph(sig)


  letter.saveAndClose();  
  lock.releaseLock();
}

标签: javascriptgoogle-apps-scriptgoogle-formsstring-concatenation

解决方案


代替

const sig = name + ", " + title + ", " + affiliation

假设 by <blank>,你的意思是空字符串,使用

const sig = [name, title, affiliation].filter(v => v !== '').join(', ');

推荐阅读