0

我有一个我的同事和我经常填写的小表格,可以在这里看到,这里有源代码(仅供查看)。可以在此处查看此表单发布到的电子表格(仅查看) 。

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

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

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

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

我可以重新启动在电子表格上运行的脚本,但是当它嵌入到 Google 站点中时,我无法做到这一点。

4

1 回答 1

1

The getElementById('xxxxx').setText('') approach was the right way to do it. but the way you tried to test it doesn't work... the new value would only be available in the next handler call.

 /*
    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;
}
于 2013-10-16T16:26:12.410 回答