刷新或清除GUI(Google网站中嵌入的应用脚本小工具)

时间:2013-10-16 16:12:33

标签: gwt google-apps-script google-sites

我的同事和我经常填写的小表格可以看到here,包含源代码(仅限查看)here。可以查看此表单发布到的电子表格(仅供查看)here

基本上,应用程序脚本仅用于防止我的同事滚动数千行电子表格(这也用于我们的电影收藏)来检查/退出库存。它还将很快在审核电子表格中发布结帐的详细历史记录。

在数据发布到电子表格后,我尝试清除文本字段的值,但没有成功。我基本上想要做的是重新启动 GUI,以便字段再次为空。

我尝试通过 id 访问文本字段,但返回类型是 Generic widget ,我当然无法做任何事情。并且由于控制权被传递给处理程序函数,因此无法访问文本字段,或者至少我无法弄清楚如何(我昨晚看了几个小时的文档和在线解决方案)。

所以问题:如何在将值发布到电子表格后删除/清除GUI中文本字段的值?(从处理函数返回再次访问文本字段,或者重启 GUI?

我可以在电子表格中完成重新启动脚本运行,但是当它嵌入Google网站时,我无法执行此操作。

1 个答案:

答案 0 :(得分:1)

getElementById('xxxxx').setText('')方法是正确的方法。但是你尝试测试它的方式不起作用...... 新值只能在下一个处理程序调用中使用

 /*
    This function only has the desired effect if it is called within the handler
    function (not within a nested function in the handler function).
 */
 function restartGUI() {

  var gui = UiApp.getActiveApplication();

  gui.getElementById('equipmentIDField1').setText('');
  gui.getElementById('equipmentIDField2').setText('');
  gui.getElementById('equipmentIDField3').setText('');
  gui.getElementById('studentLastNameField').setText('');
  gui.getElementById('labasstLastNameField').setText('');
  return gui;
}