Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

273
Views
Using a Google Form to Populate a Google Doc: Punctuation appears when fields are empty in form

I have a Google form I'm using to gather signatures by inputting names, titles, and affiliations to a Google doc and Google sheet. However, aside from the name, which is a required field, the title and affiliation fields are not required. Most of the time, the person filling out the form will have a title and affiliation, but I would like the result to appear without one comma if one of the fields is empty, or without both commas if both fields are empty.

For example, if someone fills out the form as such-- Name: Bob; Title: <blank>; Affiliation: <blank>; then the result will be "Bob, ," in the Google Doc. Ideally it would just say "Bob".

Or, example 2: Name: Bob; Title: <blank>; Affiliation: University; then an ideal result would be "Bob, University"

I know next to nothing about Google Apps Script and have slightly edited a template script to fit my needs. Any help is greatly appreciated!

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();
}
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Instead of

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

assuming that by <blank>, you mean empty string, use

const sig = [name, title, affiliation].filter(v => v !== '').join(', ');
about 4 years ago · Juan Pablo Isaza Report

0

function onMyFormSubmit(e) {
  let user = LockService.getScriptLock();
  user.tryLock(10000);
  if (user.hasLock()) {
    const doc = DocumentApp.openById('DOC_ID_IS_HERE');
    const body = doc.getBody();
    body.appendParagraph(e.values.slice(2,5).join(','))
    doc.saveAndClose();
    user.releaseLock();
  }
}

Create Trigger:

function createTrigger() {
  ScriptApp.newTrigger('onMyFormSubmit').forSpreadsheet(SpreadsheetApp.getActive()).onFormSubmit().create();
}
about 4 years ago · Juan Pablo Isaza Report

0

Filter out the empty spaces and join:

const sig = [name, title, affiliation].filter(String).join();
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!