0

我有这个工作非常好:

var theForm = HtmlService.createTemplateFromFile('aForm').evaluate();
var theSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();

theSpreadsheet.show(theForm);

当用户提交数据时,我想关闭“theForm”。电子表格上是否有类似 unShow() 或 hide() 方法的东西?HtmlOutput 上的harikiri() 方法?

理想情况下,我想要一个 reShow() 命令来保存提交的数据,刷新电子表格并再次调用 show()。

我发现没有办法做这些事情,所以我只是禁用了提交按钮。啊!

任何建议都非常感谢。

更新(2012/08/28): 我应该提到我正在调用与最初打开的“theForm”相同的代码,从 HTML 表单,使用这个调用......

google.script.run.recordTheForm(jsonTheForm);

我是否正确地假设了 google.script.run。* () 调用不知道之前设置的任何变量值?

4

2 回答 2

1

HtmlService 没有 app.close() 的等价物......这是一个疏忽,不是设计使然,我们将修复它。

编辑:从客户端 JavaScript 代码中(不是来自服务器app.close(),而是在 HtmlService 代码本身),您现在可以调用google.script.host.closeDialog()

于 2012-10-04T13:56:51.923 回答
0

调用这个:

theForm.close();
SpreadsheetApp.flush();
theSpreadsheet.show(theForm);

祝你好运,

托马斯·范拉图姆

于 2012-09-28T05:24:25.400 回答