我的工作非常好:
var theForm = HtmlService.createTemplateFromFile('aForm').evaluate();
var theSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
theSpreadsheet.show(theForm);
当用户提交数据时,我想关闭“theForm”。在电子表格上有类似unShow()或hide()的方法吗? HtmlOutput上的harikiri()方法?
理想情况下,我想要一个reShow()命令来保存提交的数据,刷新电子表格并再次调用show()。
我发现无法做这些事情,所以我只是禁用了提交按钮。啊!
任何建议都非常感谢。
更新(2012/08/28):我应该提到我正在使用此调用从HTML表单调用与最初打开的“theForm”相同的代码...
google.script.run.recordTheForm(jsonTheForm);
我是否正确地假设google.script.run。 * ()调用不知道之前设置的任何变量值?
答案 0 :(得分:1)
HtmlService没有相当于app.close()......这是一种疏忽,而不是设计上的东西,我们会修复它。
编辑:从客户端JavaScript代码(不是来自app.close()
之类的服务器,但在HtmlService代码本身内),您现在可以调用google.script.host.closeDialog()
答案 1 :(得分:0)
请致电:
theForm.close();
SpreadsheetApp.flush();
theSpreadsheet.show(theForm);
祝你好运,
Thomas van Latum