0

我有这个 UiApp,它在下拉列表中为用户提供两个不同的选项。当用户选择其中一个时,用户有两个选项,另一个 uiapp 会出现并显示一些信息,并且它有一个返回原始菜单的按钮。我遇到的问题是,当我做出选择时,我收到一个错误,上面写着“遇到错误:发生了意外错误。” 当我单击选项 1 和 2 上的返回按钮时也会发生同样的情况。这是 GAS 的错误,还是不应该存在的代码?

谢谢!

 function Menu(e) {
  var app = UiApp.createApplication().setTitle(" Title"); 
  var dropDownList = app.createListBox().setName('list').setId('list');
  var infoLabel = app.createLabel('Scroll around to select the service     desired').setId('infoLabel');
//addItems  
  dropDownList.addItem("Options");
  dropDownList.addItem("Option1");
  dropDownList.addItem("Option2");

  var handler = app.createServerClickHandler('changeMe');
  handler.addCallbackElement(dropDownList);  
  dropDownList.addChangeHandler(handler);
  app.add(dropDownList);
  app.add(infoLabel);
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  spreadsheet.show(app);
  return app;
  }

  function changeMe(e) {
      if(e.parameter.list === 'Option1'){
        var app1 = UiApp.createApplication();
        var html1 = app1.add(app1.createHTML("<p><i>Hello you have selected Option  1</i>    </p>")).setHeight(800).setWidth(600);
        var button1 = app1.createButton('Go back').setId("button1");
        app1.add(button1);
        var handler2 = app1.createServerHandler('Menu');
        button1.addClickHandler(handler2); 
        var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
        spreadsheet.show(app1);
        return app1;
        }

  else if (e.parameter.list === 'Option2'){;
     var app2 = UiApp.createApplication();
     var html2 = app2.add(app2.createHTML("Hello You have selected Option2"));
     var button2 = app2.createButton('Go back').setId("button");
     app2.add(button2);
     var handler2 = app2.createServerHandler('Menu');
     button2.addClickHandler(handler2);                                                                  
     var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
     spreadsheet.show(app2);
     return app2;
     }
   }
4

1 回答 1

1

尝试删除 3 个“return app”行。这似乎对我有用。show 方法会自动将其放在电子表格中。

于 2012-12-06T23:37:17.170 回答