删除“;“未定义”;在预填充的url表单链接中(来自修改后的Google费用报告脚本)

删除“;“未定义”;在预填充的url表单链接中(来自修改后的Google费用报告脚本),url,google-apps-script,google-sheets,Url,Google Apps Script,Google Sheets,我已经修改了标准的google drive费用报告系统,将其用作能力和经验矩阵,经理可以在其中批准/拒绝表单。 我遇到的问题是,当一个表单被经理拒绝时,它会将一个链接发送回员工,该链接指向一个由url预先填充的表单 但是,如果员工没有以原始形式输入值,url会将其填充为“未定义” 问题,我可以通过url删除或替换“未定义”值来预填充表单吗 也许代码会比我解释得更好 + "<P><b>" + 'Please re-submit your form <a href='

我已经修改了标准的google drive费用报告系统,将其用作能力和经验矩阵,经理可以在其中批准/拒绝表单。 我遇到的问题是,当一个表单被经理拒绝时,它会将一个链接发送回员工,该链接指向一个由url预先填充的表单

但是,如果员工没有以原始形式输入值,url会将其填充为“未定义”

问题,我可以通过url删除或替换“未定义”值来预填充表单吗

也许代码会比我解释得更好

+ "<P><b>" + 'Please re-submit your form <a href=' + USER_FORM_URL +
'&entry_2=' + encodeURIComponent(row.forename) + '&entry_3=' +
encodeURIComponent(row.surname) + '>here</a></b>'
+”

“+'请重新提交您的表格'

任何帮助都将受到极大的感谢,并努力“走出去”找到解决方案

汤姆


图像链接,因为我是一个新海报。

看起来像脚本中的
getObjects()
函数可能会跳过向
行添加值,如果该值在支出报告电子表格中为空,则稍后在
sendReportToManager()
中使用该值。因此,稍后尝试附加类似于
row.bananas
(或工作表中的某个空内容,因此未在对象上定义)的内容将导致“undefined”被附加到字符串中。如果查看具有“undefined”值的表单的查询字符串,则应该在url的查询字符串中看到“undefined”

您可以通过将
encodeURIComponent(row.XXXX)
调用中潜在的空列包装为如下内容来避免这种情况:
row.XXXX?encodeURIComponent(第XXXX行):“”

因此,请替换以下内容:

+ "<P><b>" + 'Please re-submit your form <a href=' + USER_FORM_URL + 
'&entry_2=' + encodeURIComponent(row.forename) + '&entry_3=' +

+”

“+”请重新提交您的表单。我不熟悉谷歌文档中的标准报表工作原理或内置工作流功能。你可以发布一个链接到模板报告(似乎有一些费用报告)?如果你可以发布一个链接到你的,那将是一个更直接的帮助。同时,暂时假设url包含数据,你能用

“blahblah”
替换,比如说,
row.forename
,看看这是否反映在链接到的表单中吗?@BrianHenry Henry下面是代码片段插入MailApp命令上方的例子。如果需要的话,我很乐意添加为合作伙伴。Brain,谢谢你,这个空白声明基本上解决了我的问题。事后看来,这一切似乎太明显了,但这正是学习另一种语言的意义所在。非常感谢,汤姆。
+ "<P><b>" + 'Please re-submit your form <a href=' + USER_FORM_URL + 
'&entry_2=' + (row.forename ? encodeURIComponent(row.forename) : "") + '&entry_3=' +