我正在使用showModalDialog在我刚刚创建的应用程序中传递一个用户界面。我还设置了一个带有服务器处理程序的按钮。当调用服务器处理程序函数时,我尝试使用" UiApp.getActiveApplication()"再次获取应用程序。隐藏一些元素并显示一些不同的元素,然而,这些更改并未反映出来。在方法结束时,我试图关闭应用程序,并显示一个新的模态对话框,我试图返回应用程序,我试图什么都不做,似乎没有任何工作。
我无法发布我的整个代码,因为它很长,因此我制作了一个非常简单的版本,可以解决问题。当我在testHandler()中放入一些日志语句时,它证明代码正在运行。
function test() {
var app = UiApp.createApplication().setHeight(700).setWidth(1500);
var label = app.createLabel("Hi").setId("label");
var label2 = app.createLabel("GoodBye").setId("label2").setVisible(false);
var button = app.createButton("Press Me").setId("button");
app.add(label);
app.add(label2);
app.add(button);
var testHandler = app.createServerHandler('testHandler');
testHandler.addCallbackElement(label);
testHandler.addCallbackElement(label2);
button.addClickHandler(testHandler);
SpreadsheetApp.getUi().showModalDialog(app, 'Test');
}
function testHandler() {
var app = UiApp.getActiveApplication();
app.getElementById('label').setVisible(false);
app.getElementById('label2').setVisible(true);
// Not sure what to do now
}
提前感谢您的帮助
答案 0 :(得分:0)
返回app; //你不知道该怎么做