使用Ui服务向Google表单编辑器添加自定义对话框



我有一个谷歌表单,我想添加一个包含文本框和文本区域的自定义对话框。我不想使用html服务,因为我不想在脚本中添加额外的页面。我对如何做到这一点有点困惑,如果有人能张贴一个例子,我会很感激。根据方法文档,我可以使用:

var ui = FormApp.getUi();
ui.showModalDialog(userInterface, title);

但是我不确定如何在这里使用Ui服务构建userInterface部分。即

var app = UiApp.createApplication();

提前感谢!

function showUi() {
  var app = UiApp.createApplication();
  var panel = app.createVerticalPanel();
  var txtBox = app.createTextBox().setId('txtBox').setName('txtBox');
  var txtArea = app.createTextBox().setId('txtArea').setName('txtArea');
  panel.add(txtBox).add(txtArea);
  app.add(panel);
  FormApp.getUi().showModalDialog(app, 'Your title');
}

你们看过UiApp的文档,对吧?为什么不使用HtmlService?

如果你想在表单发布时(用户填写表单时看到添加的元素)添加Ui元素(无论是来自UiApp Service还是HTML Service),那么你根本不能。

你所展示的参考文档都是关于在表单"设计"界面中添加Ui的,也就是你用来创建表单的界面。在这个选项中,你可以添加一个侧边栏或显示弹出窗口或模式弹出窗口。

在最后一种情况下,使用你所呈现的元素,它是非常简单的:

var ui = FormApp.getUi();
var app = UiApp.createApplication();// add any widgets to this...
ui.showModalDialog(app, 'Your title'); // for example, to show a modal popup, showSideBar to show a sidebar.

最新更新