使用Ui服务向Google Forms Editor添加自定义对话框

时间:2014-08-24 19:41:37

标签: google-apps-script

我有一个Google表单,我想添加一个包含文本框和文本区域的自定义对话框。我不想使用html服务,因为我不想在脚本中添加额外的页面。我对如何解决这个问题感到有些困惑,如果有人能发表一个例子,我会很感激。符合我可以使用的方法文档:

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

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

var app = UiApp.createApplication();

提前致谢!

2 个答案:

答案 0 :(得分:0)

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');
}

您已经看过documentation for UiApp,对吗? 为什么不使用HtmlService?

答案 1 :(得分:0)

如果要添加Ui元素(在发布此表单时将UiApp服务或HTML服务添加到表单中(用户填写表单以查看添加的元素),那么您根本不能。

您展示的参考文档都是关于将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.