清除提交页面

时间:2013-06-02 08:53:08

标签: google-apps-script

我对使用Google脚本相当陌生,除了一个无论我在哪里找不到答案的问题我都做得很好。我有一个提交按钮,在点击处理程序时会隐藏当前面板并显示一个verticalPanel,其中添加了相当多的标签。

然后我有一个后退按钮,可以将您带回到原始面板,因此它会隐藏当前内容,然后重新显示第一页。问题出现在他们再次点击提交时,我已经清除了verticalPanel,但是当添加一个新内容并向其添加内容时,新内容从最后一个面板完成的位置开始,因此在页面的3/4处。如何重用现有的verticalPanel或处理它以添加新内容?

代码

这是一个非常简化的版本,显然你不会这样写,但它有助于解释它。每次单击按钮时,运行此代码将继续添加相同的标签,每次单击时我都需要一个新页面:

// Script-as-app template. 
function doGet() {
  var app = UiApp.createApplication();
  var button = app.createButton('Click Me');
  app.add(button); 
  var handler = app.createServerHandler('myClickHandler'); 
  button.addClickHandler(handler);
  return app;
}

function myClickHandler(e) {
  var app = UiApp.getActiveApplication();
  var label = app.createLabel('The button was clicked');
  app.add(label)
  app.close();
  return app;
}

演示

观看演示here

2 个答案:

答案 0 :(得分:0)

在“简化”代码中,没有垂直面板。您正在直接向UIApp添加标签。如果您有垂直面板,则可以使用VerticalPanel.clear()清除所有现有项目

答案 1 :(得分:0)

我终于弄清楚了,在加载段中添加面板允许它正确清除。当它首次在onclick函数中声明时,它会导致它执行上述行为,因此只需在加载中声明并隐藏它,然后在需要时显示它就会停止该行为。

我不能完全确定为什么我不能在onclick中首先声明它,但它确实有效,所以我不抱怨。

感谢大家的帮助。