2

我已经修改了标准的 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>'

任何帮助将不胜感激,努力寻找“在那里”的解决方案。

汤姆

图片链接http://s11.postimage.org/dyd1olkoz/url_stack.jpg因为我是新海报。

4

1 回答 1

0

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

您可以通过将encodeURIComponent(row.XXXX)可能为空的列的调用包装成如下所示来避免这种情况:row.XXXX ? encodeURIComponent(row.XXXX) : ""

因此,替换以下内容:

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

+ "<P><b>" + 'Please re-submit your form <a href=' + USER_FORM_URL + 
'&entry_2=' + (row.forename ? encodeURIComponent(row.forename) : "") + '&entry_3=' +
于 2012-11-23T23:08:31.853 回答